Referenční dokumentace XML konfigurace řízení prostředků

Prostředky konfigurace zobrazení řízení prostředků (RCDC) jsou uživatelsky definované prostředky, které můžete použít k řízení toho, jak se ostatní prostředky v úložišti dat Microsoft Identity Manageru 2016 SP1 (MIM) zobrazují v uživatelském rozhraní koncovému uživateli. Každý prostředek RCDC obsahuje konfigurační soubor XML, který můžete změnit a přidat, upravit nebo odebrat text uživatelského rozhraní a ovládací prvky uživatelského rozhraní. I když MIM 2016 SP1 poskytuje několik výchozích prostředků RCDC, můžete také vytvořit vlastní prostředky RCDC pro vlastní prostředky. Další informace o používání uživatelského rozhraní RCDC na portálu FIM najdete v tématu Úvod ke konfiguraci a přizpůsobení portálu FIM v dokumentaci FIM.

Známé problémy

Výchozí hodnota v mnoha ovládacíchprvch

V této verzi není nastavení výchozích hodnot v ovládacích prvcích v ovládacím prvku prostředků podporováno s výjimkou ovládacího prvku přepínače. Tento problém můžete vyřešit v rozevíracím seznamu zadáním výchozí hodnoty, která není přidružena k žádné hodnotě, aby uživatel změnil výběr. Chcete-li tento problém vyřešit s jinými ovládacími prvky, musíte použít pracovní postup autorizace k zadání výchozí hodnoty během odeslání požadavku.

Základní struktura

Data XML pro prostředek RCDC se skládají z jednoho ObjectControlConfiguration XML elementu.

Poznámka:

Úplné schéma XSD najdete v dodatku A: Výchozí schéma XSD.

Následuje schéma XSD pro element ObjectControlConfiguration:

<xsd:element name="ObjectControlConfiguration"\>
  <xsd:complexType\>
    <xsd:sequence\>
      <xsd:element ref="my:ObjectDataSource" minOccurs="0" maxOccurs="32"/>
      <xsd:element ref="my:XmlDataSource" minOccurs="0" maxOccurs="32"/>
      <xsd:element ref="my:Panel"/>
      <xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute ref="my:TypeName"/>
    <xsd:anyAttribute processContents="lax" namespace="http://www.w3.org/XML/1998/namespace"/>
  </xsd:complexType>
</xsd:element>

Element ObjectControlConfiguration obsahuje následující prvky:

  • ObjectDataSource: Tento prvek určuje TypeName třídy zdroje dat, kterou používá Řízení prostředků (RC). Popis a definice schématu najdete v následující části Zdroje dat v tomto dokumentu. Element ObjectControlConfiguration může obsahovat až 32 uzlů elementu ObjectDataSource.

  • XmlDataSource: Jedná se o jednoduchý zdroj dat, který se nejčastěji používá k určení návrhu souhrnné stránky. Popis a definice schématu najdete v následující části Zdroje dat v tomto dokumentu. ObjectControlConfiguration: element může obsahovat až 32 uzlů elementu XmlDataSource.

  • Panel: Správce může přizpůsobit rozložení stránky RCDC úpravou prvků uvnitř prvků panelu. Další informace najdete v části Panel dále v tomto dokumentu. Element ObjectControlConfiguration musí mít pouze jeden prvek Panel.

  • události: Správci nemohou poskytnout přizpůsobený kód za sebou, tato funkce je omezená. Toto je událost, kterou může panel nebo ovládací prvek generovat na základě změny stavu. Další informace najdete v části Události dále v tomto dokumentu. Element ObjectControlConfiguration může obsahovat volitelně jeden prvek Event. Obecně platí, že použití vlastních událostí není podporováno, pokud není výslovně vyvinuto v pozdějších vylepšeních.

Zdroje dat

Microsoft Identity Manager používá zdroje dat jako způsob, jak svázat data s komponentami uživatelského rozhraní. To pomáhá usnadnit oddělení dat od prezentační vrstvy. V konfiguračních datech prostředků RCDC existují dva druhy zdrojů dat: ObjectDataSource a XmlDataSource.

  • ObjectDataSources zadat třídu Microsoft .NET, která poskytuje data rc. Existuje pevná sada dostupných typů ObjectDataSources za předpokladu, že se správce může rozhodnout používat při vytváření řadičů RCD.

  • XMLDataSources poskytují jednoduchý způsob strukturování dat založených na JAZYCE XML a mohou je správci použít k poskytování přizpůsobených dat. Data XML musí být zadána přímo ve službě RCDC, pokud nepoužíváte předdefinovanou předdefinovanou strukturu XML. Předdefinovaná struktura XML se používá ke generování souhrnných stránek ve verzi RC.

Ve službě RCDC můžete tyto zdroje dat svázat s atributy ovládacích prvků uživatelského rozhraní, které jsou zadány ve službě RCDC, aby se vygenerovalo uživatelské rozhraní.

ObjectDataSource – elementy

Microsoft Identity Manager poskytuje běžné typy zdrojů dat v následující tabulce, které jsou k dispozici pro všechny typy prostředků (s výjimkou případů, kdy je uvedeno).

TypeName Popis Obousměrná vazba Syntaxe vazby
PrimaryResourceObjectDataSource Představuje prostředek FIM 2010, který se vytváří, upravuje nebo zobrazuje. Cesta v řetězci vazby je název atributu. Typ prostředku je určen atributem TargetObjectType RCDC, nikoli v RCDC. Atribut ConfigurationData. Ano [AttributeName] hodnotu atributu objektu zadaného jeho názvem.
PrimaryResourceDeltaDataSource Tento zdroj dat sestaví rozdílový kód XML, který porovná původní stav a aktuální stav prostředku FIM 2010. Vygenerovaný rozdílový XML je spotřebován souhrnným ovládacím prvku RC k vykreslení uživatelského rozhraní pro žádost, kterou uživatel odesílá. Ne DeltaXml Slouží k zobrazení rozdílu pomocí ovládacího prvku souhrnu.
PrimaryResourceRightsDataSource Tento zdroj dat poskytuje vložená práva pro každý atribut prostředku FIM 2010. Tím rc umožní předem určit, která oprávnění má uživatel k danému atributu, a odpovídajícím způsobem vykreslit uživatelské rozhraní tohoto atributu. Ne [AttributeName]
SchemaDataSource Tento zdroj dat lze použít pro přístup k informacím souvisejícím se schématem, jako je zobrazovaný název, popis, zda je atribut povinný, a také informace o typu prostředku. Ne [AttributeName].Required logická hodnota označující, zda atribut musí mít hodnotu, která má být platná.
[AttributeName].DisplayNameString Hodnota označující zobrazovaný název vazby.
[AttributeName].DescriptionString Hodnota označující popis vazby.
[AttributeName].StringRegexString hodnota označující řetězcový regulární výraz vazby.
[AttributeName].DisplayName
[AttributeName].Description
[AttributeName].IntegerValueMinimum
[AttributeName].IntegerValueMaximum
[AttributeName].LocalizedAllowedValues
DomainDataSource Tento zdroj dat poskytuje výčet domén založených na prostředcích konfigurace domény. Tento zdroj dat lze použít pouze ve rcDC, které jsou určené pro prostředky skupiny a uživatelské prostředky. Ano Doména

Následuje příklad fragmentu RCDC, který vytvoří vazbu tří zdrojů dat k ovládacímu prvku UocTextBox pro úpravu atributu Description skupiny:

<my:ObjectDataSource my:TypeName="PrimaryResourceObjectDataSource" my:Name="object" my:Parameters=""/>
<my:ObjectDataSource my:TypeName="SchemaDataSource" my:Name="schema"/>
<my:ObjectDataSource my:TypeName="PrimaryResourceRightsDataSource" my:Name="rights"/>

     <my:Control my:Name="Description" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=Description.DisplayName}" my:RightsLevel="{Binding Source=rights, Path=Description}">
          <my:Properties>
               <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=DisplayName.Required}"/>
               <my:Property my:Name="Rows" my:Value="3"/>
               <my:Property my:Name="Columns" my:Value="60"/>
               <my:Property my:Name="MaxLength" my:Value="450"/>
               <my:Property my:Name="Text" my:Value="{Binding Source=object, Path=Description, Mode=TwoWay}"/>
          </my:Properties>
     </my:Control>

XMLDataSource – element

Pomocí elementu XMLDataSource můžete zadat vlastní data, která může RCDC pro daný prostředek využívat. V tomto případě musí být data XML zadána v RCDC. Alternativně lze tento zdroj dat použít k odkazování na integrovanou datovou strukturu XML k vykreslení uživatelského rozhraní pro souhrnné stránky. Určujete, jaký typ XMLDataSource použít při definování v RCDC.

TypeName Popis Obousměrná vazba Syntaxe vazby
XMLDataSource Zdroj dat představuje data XML. Data můžou být v XSL nebo vložených formátech XSL:
  • Formát XSL v Microsoft.IdentityManagement.WebUI.Controls.dll:
    <my:XmlDataSource my:Name="summaryTransformXsl" my:Parameters="Microsoft.IdentityManagement. WebUI.Controls.Resources.DefaultSummary.xsl"> </my:XmlDataSource>
  • Vložený formát XSL:
    <my:XmlDataSource my:Name="RequestStatusTransformXsl"><xsl:stylesheet version="1.0" xmlns:xsl=http://www.w3.org/1999/XSL/Transform xmlns:msxsl="urn:schemas-microsoft-com:xslt"></xsl:stylesheet></my:XmlDataSource>
Ne Xpath[;namespaces], kde Xpath je platná cesta XML xpath k výběru požadované poznámky, nejčastěji "/" (kořen). namespaces je volitelný seznam řetězců prefix=URI. Řetězec je oddělen středníky, jak je požadováno pro Xpath pracovat s oborem názvů XML.
ReferenceDeltaDataSource Zdroj dat představuje rozdíly vícehodnotových referenčních atributů. Používá se pouze ve službě RCDC pro skupinu a sadu.
I když zdroj dat není omezen na skupiny nebo sady, vyžaduje změny kódu v hostiteli RCDC k odeslání těchto rozdílů. V současné době jsou skupinami a sadami jedinými hostiteli, kteří tento zdroj dat rozpoznají.
Ano [AttributeName].Add, kde [AttributeName] představuje atribut odkazu a vrácená data jsou rozdílové sčítání.
  • Příklad: [ReferenceAttribute].Add
  • Příklad: <my:Property my:Name="Value" my:Value="{Binding Source=delta, Path=ExplicitMember.Add, Mode=TwoWay}"/>
[AttributeName].Remove, kde [AttributeName] představuje atribut odkazu a vrácená data jsou rozdílové odebrání.
DeltaXml
RequestDetailsDataSource Zdroj dat představuje RequestParameter atribut Request objekty. Parametr nastaví maximální počet hodnot atributů, které se mají zobrazit na atribut s více hodnotami. Používá se pouze ve službě RCDC pro požadavek. <my:ObjectDataSource my:TypeName="RequestDetailsDataSource" my:Name="requestDetails" my:Parameters="1000" /> Ne DeltaXml
RequestStatusDataSource Zdroj dat představuje RequestStatusDetails atributu Request objekty. Používá se pouze ve službě RCDC pro požadavek. Ne DeltaXml

Pokud chcete definovat vlastní zdroj dat XML, použijte následující kód XML:

<my:XmlDataSource my:Name="MyCustomData" >
    %Insert custom, properly formatted XML data here%
</my:XmlDataSource>

Pokud chcete použít integrovaný ovládací prvek souhrnu XSL, definujte zdroj dat následujícím způsobem:

<my:XmlDataSource my:Name="summaryTransformXsl" my:Parameters="Microsoft.IdentityManagement.WebUI.Controls.Resources.DefaultSummary.xsl" />

Pokud vytváříte RCDC pro vlastní typ prostředku, můžete tuto metodu použít k automatickému vykreslení souhrnné stránky pro tento vlastní prostředek.

Následuje příklad vytvoření karty souhrnu v RCDC pomocí elementu PrimaryResourceDeltaDataSource s elementem XMLDataSource pomocí integrovaného XSL:

<my:ObjectDataSource my:TypeName="PrimaryResourceDeltaDataSource" my:Name="delta" />
<my:XmlDataSource my:Name="summaryTransformXsl" my:Parameters="Microsoft.IdentityManagement.WebUI.Controls.Resources.DefaultSummary.xsl" />

<my:Grouping my:Name="summaryGroup" my:Caption="Summary” my:IsSummary="true">
     <my:Control my:Name="summaryControl" my:TypeName="UocHtmlSummary" my:ExpandArea="true">
          <my:Properties>
               <my:Property my:Name="ModificationsXml" my:Value="{Binding Source=delta, Path=DeltaXml}" />
              <my:Property my:Name="TransformXsl" my:Value="{Binding Source=summaryTransformXsl, Path=/}" />
          </my:Properties>
     </my:Control>
</my:Grouping>

Jako alternativu může uživatel nahradit XmlDataSource element zadaný dříve následujícím formátem, aby definoval přizpůsobené rozložení souhrnné stránky. Jako referenci je výchozí souhrn XSL FIM 2010 zahrnutý v dodatku B: Výchozí souhrn XSL, dále v tomto dokumentu.

<my:XmlDataSource my:Name="summaryTransformXsl">
     Insert valid XSL code here
</my:XmlDataSource>

Schéma pro zdroje dat

Následující schéma XSD generuje dva typy zdrojů dat:

<xsd:element name="ObjectDataSource">
     <xsd:complexType>
          <xsd:sequence/>
          <xsd:attribute ref="my:TypeName"/>
          <xsd:attribute ref="my:Name"/>
          <xsd:attribute ref="my:Parameters"/>
     </xsd:complexType>
</xsd:element>
<xsd:element name="XmlDataSource">
     <xsd:complexType  mixed="true">
          <xsd:sequence>
              <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
          </xsd:sequence>
          <xsd:attribute ref="my:Name"/>
          <xsd:attribute ref="my:Parameters"/>
    </xsd:complexType>
</xsd:element>

Event element

Element Event definuje měnící se stav ovládacího prvku. Rozšiřitelnost této funkce je omezená, protože nelze napsat přizpůsobenou funkci (obslužnou rutinu), která definuje chování po aktivaci události. Stejný prvek Event lze použít v panel elementu. Další informace najdete v části Panel dále v tomto dokumentu.

Následuje schéma XSD pro prvek Event:

<xsd:element name="Events">
     <xsd:complexType>
          <xsd:sequence>
               <xsd:element ref="my:Event" minOccurs="1" maxOccurs="16"/>
          </xsd:sequence>
     </xsd:complexType>
</xsd:element>
<xsd:element name="Event">
     xsd:complexType>
          <xsd:simpleContent>
               <xsd:extension base="xsd:string">
                    xsd:attribute ref="my:Name"/>
                    <xsd:attribute ref="my:Handler"/>
               </xsd:extension>
          </xsd:simpleContent>
     </xsd:complexType>
     </xsd:element>

Event je prázdný prvek a má následující atributy:

  • Název: Jedná se o jedinečný název události. Jedinou podporovanou událostí v ObjectControlConfiguration je událost Load. Tato událost se aktivuje při prvním načtení stránky.

  • obslužné rutiny: Toto je jedinečný název obslužné rutiny. Při aktivaci události je obvykle volána metoda programu pro zpracování změny stavu ovládacího prvku. Následující případy nejsou podporovány:

    • Odebrání existující obslužné rutiny z existujícího ovládacího prvku
    • Vytvoření nové obslužné rutiny
    • Připojení obslužné rutiny k existujícímu nebo novému ovládacímu prvku

Následuje příklad elementu Events:

<my:Events>
    <my:Event my:Name="Load" my:Handler="OnLoad"/>
</my:Events>

Panel – element

Element Panel je základní prvek v rozložení RCDC. Následuje schéma XSD pro prvek Panel:

<xsd:element name="Panel">
     <xsd:complexType>
          <xsd:sequence>
               <xsd:element ref="my:Grouping" minOccurs="1" maxOccurs="16"/>
          </xsd:sequence>
          <xsd:attribute ref="my:Name"/>
          <xsd:attribute ref="my:DisplayAsWizard"/>
          <xsd:attribute ref="my:Caption"/>
          <xsd:attribute ref="my:AutoValidate"/>
     </xsd:complexType>
</xsd:element>

Prvek panelu obsahuje opakující se prvek, seskupování. Další informace najdete v části Seskupování v tomto dokumentu.

Element Panel má následující atributy:

  • Název: Název panelu. Jedná se o povinný atribut typu string.

  • displayAsWizard: Tento atribut je aktuálně zastaralý. Odpovídající atribut VerbContext v RCDC se řídí, pokud je rozložení prostředků v režimu Průvodce nebo v režimu tabulátoru. Pokud je nastavená na hodnotu 0 (režim vytvoření), je také v režimu Průvodce. V opačném případě je v režimu tabulátoru. Další informace najdete v tématu Úvod ke konfiguraci a přizpůsobení portálu FIM v dokumentaci.

  • popisek: Tento atribut je aktuálně zastaralý. Uživatel může zadat titulky stránky zahrnutím skupiny, která obsahuje pouze informace záhlaví. Další informace najdete v části Seskupování v tomto dokumentu.

  • automatického ověření: Jedná se o volitelný logický atribut. Pokud je nastavena na true validation se aktivuje pro každý ovládací prvek na aktuální kartě. Pokud atribut chybí, nastaví se ve výchozím nastavení na hodnotu true. Lze jej použít v kombinaci s RegularExpression vlastnost. Další informace naleznete v části RegularExpression v pozdější části tohoto dokumentu.

Seskupování – element

Element Seskupení definuje celkové rozložení panelu. Funguje jako kontejner, který seskupuje jednotlivé ovládací prvky do různých oddílů a karet. Následuje schéma XSD pro element Grouping:

<xsd:element name="Grouping">
     <xsd:complexType>
          <xsd:sequence>
               <xsd:element ref="my:Help" minOccurs="0"  maxOccurs="1"/>
               <xsd:element ref="my:Control" minOccurs="1" maxOccurs="256"/>
               <xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
          </xsd:sequence>
          <xsd:attribute ref="my:Name"/>
          <xsd:attribute ref="my:Caption"/>
          <xsd:attribute ref="my:Description"/>
          <xsd:attribute ref="my:Enabled"/>
          <xsd:attribute ref="my:Visible"/>
          <xsd:attribute ref="my:IsHeader"/>
          <xsd:attribute ref="my:IsSummary"/>
     </xsd:complexType>
</xsd:element>

Existují tři typy Seskupování elementu:

  • seskupování hlaviček: Seskupení záhlaví je volitelné. V panelumůže být pouze jedno seskupení záhlaví . V horní části panelu se zobrazí seskupení záhlaví jako titulek. V tomto seskupení lze použít pouze jeden UocCaptionControl. Příklad seskupení hlaviček najdete v části Ukázka.

  • seskupení obsahu: Vyžaduje se alespoň jedno seskupení obsahu. Na panelu může být více seskupení obsahu. Seskupení obsahu se zobrazí jako hlavní obsah stránky RCDC. Každá skupina obsahu se zobrazí jako karta na stejném panelu a může obsahovat ovládací prvky od 1 do 256. Příklad seskupení obsahunajdete v části Příklady.

  • souhrnné seskupení: Souhrnné seskupení je volitelné. Na panelu může být pouze jedno seskupení souhrnů. Souhrnné seskupení se zobrazí jako poslední karta panelu. V souhrnném seskupení lze použít pouze jeden ovládací prvek UocHtmlSummary k zobrazení změn, které uživatel provedl před odesláním žádosti. Příklad seskupení souhrnu najdete v části Příklady.

Každý typ seskupení obsahuje následující prvky:

  • nápovědy: Tento prvek poskytuje text nápovědy na kartě. Můžete ho také použít k přidání odkazu na soubor nápovědy pro kartu.

  • Ovládací prvky: Informace o tomto prvku naleznete v části Control v tomto dokumentu. Každé seskupení musí mít v závislosti na typu seskupení 1 až 256 ovládacích prvků.

  • Události: Informace o tomto prvku naleznete v části Události v tomto dokumentu. Každé seskupení může jako možnost mít jednu událost. Události podporované v elementu Seskupení jsou následující:

    • BeforeLeave: Tato událost se aktivuje, když je uživatel připraven opustit kartu ve seskupování obsahu.
    • AfterEnter: Tato událost se aktivuje, když je uživatel připraven k zadání karty ve seskupení obsahu.

Seskupení může obsahovat následující sedm atributů:

  • Název: Jedná se o požadovaný název seskupení. Název musí být jedinečný v panelu.

  • titulek: Titulek se zobrazí jako titulek záhlaví ve seskupení záhlaví. Zobrazí se jako titulek karty seskupování Obsah nebo Souhrn.

  • Popis: Volitelný atribut řetězce, popis je funkční pouze v případě, že se používá ve seskupení obsahu. Tento prvek slouží k poskytnutí podrobností o informacích na stejné kartě koncovému uživateli.

    Poznámka:

    Pokud se tento atribut používá v seskupování souhrnů, považuje se XML za neplatný. Pokud se tento atribut používá ve seskupování hlaviček, považuje se XML za platný, ale ignorovaný.

  • Povoleno: Volitelný logický atribut, Povoleno je nastaveno na hodnotu true, pokud chybí. Pokud je povoleno nastaveno na false, koncový uživatel uvidí kartu Zakázáno. Tento atribut je funkční pouze v seskupení obsahu.

    Poznámka:

    Pokud se tento atribut používá v seskupování souhrnů, považuje se XML za neplatný. Pokud se tento atribut používá ve seskupování hlaviček, považuje se XML za platný, ale ignorovaný.

  • Viditelné: Kartu stránky RCDC nebo jeho záhlaví můžete skrýt nastavením tohoto atributu na false. Ve výchozím nastavení je tento volitelný atribut typu Boolean nastaven na hodnotu true. Tento atribut je funkční pouze u seskupení obsahu.

    Poznámka:

    Pokud je na panelu jenom jedno seskupení obsahu, tato funkce nefunguje. Pokud je na panelu více než jedno seskupení obsahu, chová se podle předchozího popisu.

  • IsHeader: Tento atribut je nepovinný logický atribut, který definuje, zda seskupení je seskupování záhlaví. Pokud tento atribut není zadán, je nastaven na hodnotu false.

  • IsSummary: Jedná se o nepovinný logický atribut, který definuje, jestli je seskupením souhrn. Pokud tento atribut není zadán, je nastaven na hodnotu false.

Příklady typů seskupování prvků

Tato část obsahuje příklady pro element Groupings.

Příklad: Seskupování záhlaví

Následující obrázek znázorňuje ukázkové seskupení záhlaví:

seskupování hlaviček

Následující XML vygeneruje ukázkové seskupení hlaviček. Ve formátu XML je seskupení záhlaví oblastí s textem titulku "Ukázkové seskupení záhlaví".

<!--Sample for a Header Grouping-->
<my:Grouping my:Name="HeaderGroupingSample" my:IsHeader="true">
     <my:Control my:Name="SampleHeaderCaption" my:TypeName="UocCaptionControl" my:ExpandArea="true" my:Caption="Sample Header Grouping">
          <my:Properties>
               <my:Property my:Name="MaxHeight" my:Value="32"/>
               <my:Property my:Name="MaxWidth" my:Value="32"/>
          </my:Properties>
      </my:Control>
</my:Grouping>
<!--End of Header Grouping Sample-->

Příklad: Seskupování obsahu

Následující obrázek znázorňuje ukázkové seskupení obsahu:

seskupování obsahu

Následující XML vygeneruje ukázkové seskupení obsahu. Ve formátu XML je seskupení obsahu oblast s textem titulku "Ukázkové seskupení obsahu".

<!--Sample for a Content Grouping-->
<my:Grouping my:Name="ContentGroupingSample" my:Caption="Sample Content Grouping" my:Description="Some description for content grouping">
     <my:Control my:Name="DisplayName" my:TypeName="UocTextBox" my:Caption="Display name" my:Description="This is the display name of the set.">
          <my:Properties>
               <my:Property my:Name="Required" my:Value="True"/>
               <my:Property my:Name="MaxLength" my:Value="128"/>
               <my:Property my:Name="Text" my:Value="{Binding Source=object, Path=DisplayName, Mode=TwoWay}"/>
          </my:Properties>
     </my:Control>
</my:Grouping>
<!--End of Content Grouping Sample-->

Příklad: Seskupení souhrnů

Následující obrázek znázorňuje ukázkové seskupení souhrnů:

souhrnné seskupení

Následující XML vygeneruje ukázkové seskupení souhrnů. V souboru XML je seskupení souhrnem oblast s textem titulku "Ukázkové souhrnné seskupení".

<!--Sample for a Summary Grouping-->
<my:Grouping my:Name="Summary" my:Caption="Sample Summary Grouping" my:IsSummary="true">
     <my:Control my:Name="SummaryControl" my:TypeName="UocHtmlSummary" my:ExpandArea="true">
          <my:Properties>
               <my:Property my:Name="ModificationsXml" my:Value="{Binding Source=delta, Path=DeltaXml}"/>
               <my:Property my:Name="TransformXsl" my:Value="{Binding Source=summaryTransformXsl, Path=/}"/>
          </my:Properties>
     </my:Control>
</my:Grouping>
<!--End of Summary Grouping Sample-->

Prvek nápovědy

Element nápovědy lze zahrnout do seskupování nebo ovládacího prvku jako volitelný prvek. Pokud se používá ve seskupování, musí být prvním použitým prvkem. Poskytuje koncovým uživatelům textovou nápovědu, která jim pomůže poskytnout přesné informace. Následující schéma XSD je pro prvek nápovědy:

<xsd:element name="Help">
     <xsd:complexType>
          <xsd:sequence/>
          <xsd:attribute ref="my:HelpText"/>
          <xsd:attribute ref="my:Link"/>
     </xsd:complexType>
</xsd:element>

Následující vzorový kód XML vygeneruje prvek nápovědy:

<my:Help my:HelpText="Some Help Text for Group Basic Info" my:Link="03e258a0-609b-44f4-8417-4defdb6cb5e9.htm#bkmk_grouping_GroupingBasicInfo" />

Control – element

Prvek Seskupení obsahuje jeden nebo více Ovládací prvek elementy. Ovládací prvky jsou hlavními prvky ve službě RCDC. Seskupovací prvek můžete přizpůsobit definováním různých prvků ovládacího prvku, které obsahuje. Následující schéma XSD je pro prvek Control:

<xsd:element name="Control">
     <xsd:complexType>
          <xsd:sequence>
               <xsd:element ref="my:Help" minOccurs="0"  maxOccurs="1"/>
               <xsd:element ref="my:CustomProperties" minOccurs="0"  maxOccurs="1"/>
               <xsd:element ref="my:Options" minOccurs="0"  maxOccurs="1"/>
               <xsd:element ref="my:Buttons" minOccurs="0"  maxOccurs="1"/>
               <xsd:element ref="my:Properties" minOccurs="0"  maxOccurs="1"/>
               <xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
          </xsd:sequence>
          <xsd:attribute ref="my:Name"/>
          <xsd:attribute ref="my:TypeName"/>
          <xsd:attribute ref="my:Caption"/>
          <xsd:attribute ref="my:Enabled"/>
          <xsd:attribute ref="my:Visible"/>
          <xsd:attribute ref="my:Description"/>
          <xsd:attribute ref="my:ExpandArea"/>
          <xsd:attribute ref="my:Hint"/>
          <xsd:attribute ref="my:AutoPostback"/>
          <xsd:attribute ref="my:RightsLevel"/>
     </xsd:complexType>
</xsd:element>

Ovládací prvek obsahuje následující prvky:

  • nápovědy: Tento prvek je ignorován. Funguje jenom ve seskupování.

  • customProperties: Tento prvek není podporován.

  • Options: Tento prvek se používá pouze v kombinaci s UocDropDownList nebo UocRadioButtonList Controls. Není funkční s žádnými dalšími ovládacími prvky. Strukturu tohoto prvku naleznete v části Možnosti v tomto dokumentu. V části Jednotlivé ovládací prvky tohoto dokumentu se dozvíte, jak ovládací prvek používá možnosti.

  • Tlačítka: Tento prvek se používá pouze v kombinaci s UocListView Control. Není funkční pro žádné jiné ovládací prvky. Další informace naleznete v části UocListView v tomto dokumentu.

  • Vlastnosti: Tento prvek se používá ve všech ovládacích prvcích k určení dalšího chování ovládacího prvku. Informace o tomto prvku naleznete v části Vlastnosti v tomto dokumentu.

  • Události: Strukturu tohoto prvku naleznete v části Události dříve v tomto dokumentu. V části Jednotlivé ovládací prvky tohoto dokumentu zjistíte, které události se v ovládacím prvku používají.

Ovládací prvek může obsahovat následující 10 atributů:

  • Název: Toto je název ovládacího prvku. Název ovládacího prvku musí být v každém panelu jedinečný. Jedná se o povinný atribut typu string.

  • TypeName: Tento atribut určuje, o jaký typ ovládacího prvku se jedná. Jedná se o povinný atribut typu string. Jednotlivé ovládací prvky najdete v tomto dokumentu pro každý název ovládacího prvku.

  • titulek: Tento atribut můžete použít k zahrnutí titulku ovládacího prvku. Titulek je obvykle zobrazovaný název dat, která ovládací prvek zobrazuje nebo zadává. Můžete explicitně zadat hodnotu titulku nebo ji svázat s informacemi zobrazovaného názvu atributu schématu. Titulek se zobrazí na levé straně ovládacího prvku normální velikosti. Pokud ovládací prvek přepluje celou obrazovku, zobrazí se titulek nad ovládacím prvku. Jedná se o volitelný atribut typu string. Informace o tom, jak vytvořit vazbu zdroje dat s atributem nebo hodnotou vlastnosti, naleznete v části Vlastnosti.

    Následující příklad ukazuje, jak lze titulky použít explicitně:

      <my:Control my:Name="ExplicitAlias" my:TypeName="UocTextBox" my:Caption="Explicit Alias">…<my:Control/>
    

    Následující příklad ukazuje, jak lze titulky použít se zdrojem dat. Pokud jste šablonu použili pro zdroj dat zobrazený dříve v tomto dokumentu, je zdrojem dat schéma. Doporučujeme svázat displayName atributu s atributem Caption.

    <my:Control my:Name="DynamicAlias" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=Alias.DisplayName, Mode=OneWay}">…<my:Control/>
    
  • Povoleno: Jedná se o volitelný atribut typu Boolean. Nastavením této hodnoty atributu na false může uživatel ovládací prvek zakázat. Výchozí hodnota je nastavená na hodnotu true.

  • visible: Jedná se o volitelný atribut typu Boolean. Tento atribut můžete použít ke skrytí celého ovládacího prvku. Výchozí hodnota je nastavená na hodnotu true.

  • Popis: Pomocí tohoto volitelného atributu typu řetězec uveďte popis, který koncovému uživateli pomůže pochopit, co má vložit do ovládacího prvku nebo co ovládací prvek dělá. Můžete explicitně zadat hodnotu popisu nebo ji svázat s informacemi o popisu atributu schématu.

    Popis se zobrazí na levé straně ovládacího prvku normální velikosti pod titulkem. Pokud ovládací prvek přepluje celou obrazovku, zobrazí se popis v horní části ovládacího prvku pod titulkem. Informace o tom, jak vytvořit vazbu zdroje dat s atributem nebo hodnotou vlastnosti, naleznete v části Vlastnosti v tomto dokumentu.

    Následující příklad ukazuje, jak lze popis použít explicitně:

    <my:Control my:Name="ExplicitAlias" my:TypeName="UocTextBox" my:Caption="Explicit Alias" my:Description="This is explicit description.">…<my:Control/>
    

    Tento příklad ukazuje, jak lze popis použít se zdrojem dat. Pokud jste šablonu použili pro zdroj dat zobrazený dříve v tomto dokumentu, je zdroj dat schématu. Doporučujeme svázat popis atributu s atributem Popis.

    <my:Control my:Name="DynamicAlias" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=Alias.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=Alias.Description, Mode=OneWay}">…<my:Control/>
    
  • ExpandArea: Tento atribut označuje, zda ovládací prvek pokrývá celou obrazovku. Jedná se o volitelný atribut typu Boolean. Výchozí hodnota je nastavená na false.

    Poznámka:

    Atributy Titulek a Popis jsou zakázány, pokud je tento atribut nastaven na hodnotu true. Pomocí ovládacího prvku UocLabel zadejte titulek rozšířeného ovládacího prvku.

  • nápovědy: Jedná se o volitelný atribut typu string. Text v atributu Hint pomáhá koncovému uživateli rozhodnout, co je platným vstupem ovládacího prvku. Pod ovládacím prvkem se zobrazí nápověda.

  • autopostback: Jedná se o volitelný atribut typu Boolean. Výchozí hodnota je false. Pokud je nastavená hodnota false, aktualizace stránky nemusí aktualizovat ovládací prvek. Informace o funkci AutoPostback potřebujete vyhledat vlastnost ovládacího prvku uživatelského rozhraní microsoft ASP.NET se stejným názvem.

  • RightsLevel: Jedná se o volitelný atribut typu string. Tento atribut lze svázat pouze s vloženými právy se zdrojem dat. Ovládací prvek je dynamicky zapnutý nebo zakázaný na základě práv uživatele. Informace o tom, jak vytvořit vazbu zdrojů dat s atributem nebo hodnotou vlastnosti, naleznete v části Vlastnosti v tomto dokumentu.

    Tento příklad ukazuje, jak lze s zdrojem dat použít atribut RightsLevel. Pokud jste šablonu použili pro zdroj dat zobrazený dříve v tomto dokumentu, je zdroj dat práv. Jako cestu použijte název atributu.

vlastnostní prvek

Pomocí prvku Property můžete dále přizpůsobit chování jednotlivých ovládacích prvků. Vlastnost je prázdný prvek. Následující schéma XSD je pro element Property:

<xsd:element name="Properties">
     <xsd:complexType>
          <xsd:sequence>
               <xsd:element ref="my:Property" minOccurs="1" maxOccurs="32"/>
          </xsd:sequence>
     </xsd:complexType>
</xsd:element>
<xsd:element name="Property">
     <xsd:complexType>
          <xsd:simpleContent>
               <xsd:extension base="xsd:string">
                    <xsd:attribute ref="my:Name"/>
                    <xsd:attribute ref="my:Value"/>
               </xsd:extension>
          </xsd:simpleContent>
     </xsd:complexType>
</xsd:element>

Každá vlastnost má následující dva požadované atributy:

  • Název: Tento atribut typu řetězce je jedinečný název vlastnosti. Různé ovládací prvky mají různé vlastnosti. Všechny ovládací prvky můžou používat některé společné vlastnosti. Další informace o tom, jaké názvy jsou k dispozici pro daný ovládací prvek, naleznete v části Společné vlastnosti a jednotlivé ovládací prvky tohoto dokumentu.

  • hodnota: Toto je hodnota vlastnosti. Datový typ hodnoty závisí na tom, ke které vlastnosti je přiřazena. V následující části najdete formát povolené hodnoty pro konkrétní vlastnosti.

Bind – vlastnost s obsahem zdroje dat

Některé vlastnosti mohou být svázané s informacemi ze zdroje dat. K vytvoření této vazby použijte následující formát řetězce. V popisu jednotlivých vlastností v části Jednotlivé ovládací prvky tohoto dokumentu se dozvíte, jak vytvořit vazbu vlastností se zdrojem dat.

<my:Property my:Name="Required" my:Value="[Formatted String]"/>

   Formatted String :=  “{Binding “ + [SourceExpression] + “,” + [PathExpression] + “,” + [ModeExpression]? + “}

   SourceExpression:= “Source=” + [ObjectDataSourceName]

   PathExpression:= “Path=” + [AttributeName]|[AttributePropertyName]

   ModeExpression:= “Mode=” + [ModeChoice]

   ModeChoice:= “OneWay”|”TwoWay”

   ObjectDataSourceName:= The value of any string assign to node /ObjectControlConfiguration/ObjectDataSource/Name.

   AttributeName:= valid schema attribute name from the data source.

   AttributePropertyName:= valid property name of a schema attribute from the data source.

Následující XML ukazuje, jak vytvořit vazbu zdroje dat na Vlastnost element:

<my:Property my:Name="Text" my:Value="{Binding Source=object, Path=DisplayName, Mode=TwoWay}"/>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=DisplayName.Required}"/>

Obecné vlastnosti

Všechny ovládací prvky RCDC zadané v tomto dokumentu můžou mít společné vlastnosti popsané v této části. Tyto vlastnosti můžete použít spolu s dalšími vlastnostmi, které jsou specifické pro různé ovládací prvky.

  • Povinné: Tato vlastnost označuje, že pole je povinné pole nebo volitelné pole. Požadované pole musí být vyplněno hodnotou. Pro zadávání řetězců není podporovaná prázdná hodnota. Volitelné pole může zůstat prázdné. Pokud je toto pole povinným polem bez vyplněné hodnoty, zobrazí se nad vstupním ovládacím prvku chybová zpráva. Můžete explicitně určit, jestli je pole povinné nebo volitelné. Pole můžete také svázat s informacemi o schématu dané vazby mezi atributem a typem prostředku. Ve výchozím nastavení pokud tato vlastnost chybí, znamená to, že ovládací prvek je volitelný vstupní ovládací prvek.

    Následující příklad používá explicitní hodnotu pro tuto vlastnost:

    <my:Property my:Name="Required" my:Value="True"/>
    

    Toto je příklad, který pro tuto vlastnost používá dynamický zdroj dat. Pokud jste šablonu použili pro zdroj dat zobrazený v předchozí části tohoto dokumentu, je zdrojem dat schéma. Jako cestu použijte <attribute name>.Required.

    <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=DisplayName.Required}"/>
    
  • ReadOnly: Nastavením této vlastnosti na hodnotu true bude koncový uživatel provádět ovládací prvek v režimu jen pro čtení. Jedná se o volitelný atribut typu Boolean. Výchozí hodnota je nastavená na false. Někdy je však chování této vlastnosti přepsáno typem práv, která osoba má na datech svázání s ovládacím prvek. Pokud například uživatel nemá práva k aktualizaci pole a pole je vázáno na vložená práva, uživatel vidí data v režimu jen pro čtení, i tato vlastnost je nastavena na false.

  • RegularExpression: Tato vlastnost určuje omezení, která jsou uložena na hodnotu ovládacího prvku. Formáty této hodnoty vlastnosti jsou formáty, které jsou podporovány ve standardu .NET StringRegex. Další informace naleznete v tématu .NET Framework Regulární výrazy. Pokud se ovládací prvek používá k zadání hodnoty, je tato hodnota kontrolována proti omezení zadanému v této vlastnosti, když se uživatel pokusí opustit aktuální stránku. Chybová zpráva se zobrazí nad ovládacím prvku, který obsahuje neplatný vstup. Uživatel může explicitně zadat řetězcový regulární výraz. Uživatel ho také může svázat s informacemi o schématu daného atributu. Ve výchozím nastavení pokud tato vlastnost chybí, znamená to, že ovládací prvek nekontroluje žádná omezení vstupních řetězců.

    Následující příklad používá explicitní hodnotu pro tuto vlastnost:

    <my:Property my:Name="RegularExpression" my:Value="[A-Z]*"/>
    

    Toto je příklad, který pro tuto vlastnost používá dynamický zdroj dat. Pokud jste použili šablonu pro zdroj dat zobrazený dříve v tomto dokumentu, je zdrojem dat schéma. Jako cestu použijte <attribute name>.StringRegex.

    <my:Property my:Name="RegularExpression" my:Value="{Binding Source=schema, Path=Alias.StringRegex, Mode=OneWay}"/>
    
  • visible: Jedná se o volitelný atribut typu Boolean. Tento atribut můžete použít ke skrytí celého ovládacího prvku. Výchozí hodnota je nastavená na hodnotu true.

Options – element

Prvek Options obsahuje jeden nebo více Option dílčích uzlů. Element Options se používá pouze s ovládacími prvky UocRadioButtonList a UocDropDownList. Podrobnosti o tom, jak tyto ovládací prvky používat, najdete v části Jednotlivé ovládací prvky tohoto dokumentu.

Následující schéma XSD je pro element Options:

<xsd:element name="Options">
     <xsd:complexType>
          <xsd:sequence>
               <xsd:element ref="my:Option" minOccurs="0" maxOccurs="unbounded"/>
          </xsd:sequence>
     </xsd:complexType>
</xsd:element>
<xsd:element name="Option">
     <xsd:complexType>
          <xsd:simpleContent>
               <xsd:extension base="xsd:string">
                    <xsd:attribute ref="my:Value"/>
                    <xsd:attribute ref="my:Caption"/>
                    <xsd:attribute ref="my:Hint"/>
               </xsd:extension>
          </xsd:simpleContent>
     </xsd:complexType>
</xsd:element>

Element Options má následující atributy:

  • Hodnota: Jedná se o povinný atribut typu řetězce. Atribut value musí být jedinečný v rámci stejného ovládacího prvku. Lze použít pouze znaky A až Z bez rozlišování velkých a malých písmen.

  • titulek: Tento povinný atribut je zobrazovaný název každé možnosti.

  • nápovědy: Jedná se o volitelný atribut. Pomocí tohoto atributu můžete koncovému uživateli poskytnout další informace a rady.

Proměnné prostředí

Následující proměnné prostředí je možné použít v jakékoli konfiguraci RCDC:

Proměnná Popis
<LoginID> Zobrazí ID uživatele, který je aktuálně přihlášený.
<LoginDomain> Zobrazí doménu uživatele, který je aktuálně přihlášený.
<Today> Zobrazí aktuální datum a čas.
<FromToday_nnn> Zobrazí aktuální datum a nnn a čas, kde nnn je celé číslo.
<ObjectID> ID primárního prostředku RCDC.
<Attribute_xxx> Vrátí zadaný atribut xxx primárního prostředku RCDC.

Ladění konfiguračních souborů XML

Při vývoji nebo úpravě konfiguračních souborů XML pro RCDC můžete pomoct snížit chyby ověřením XML proti souborům XSD pomocí editoru, jako je Například Microsoft Visual Studio. Další informace naleznete v tématu Úvod k nástrojům XML v sadě Visual Studio 2005.

Přizpůsobení souborů nápovědy

Pokud vytváříte nové prostředky a atributy, možná budete chtít aktualizovat existující soubory nápovědy na portálu FIM obsahem pro přizpůsobené prostředky. Soubory nápovědy na portálu FIM jsou ve formátu .htm a dají se upravovat ručně. Další informace o vytváření vlastních atributů najdete v tématu Úvod k vlastním prostředkům a správě atributů v dokumentaci k FIM 2010.

Důležité

Informace o základech formátování nebo úprav kódu HTML nejsou uvedeny v tomto článku. Očekává se, že uživatelé vědí, jak upravovat soubory HTML.

Umístění souborů nápovědy

Všechny soubory nápovědy pro portál Microsoft Identity Manager 2016 SP1 jsou umístěny ve složce <ProgramFiles>\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Layouts\MSILM2\Help\1033\html na serveru služby MIM.

Vyhledání konkrétního souboru nápovědy

Všechny soubory nápovědy pro portál FIM jsou pojmenované globálně jedinečným identifikátorem (GUID). Vyhledání správného souboru pro vlastní prostředek:

  1. Na portálu FIM otevřete soubor nápovědy na stránce portálu, kterou chcete přizpůsobit.

  2. Pravým tlačítkem myši klikněte na soubor nápovědy a vyberte Vlastnosti.

  3. Zvýrazněte a zkopírujte soubor <GUID\>.htm do pole adresa URL .

  4. Přejděte do složky, kde jsou uložené soubory nápovědy, a vyhledejte soubor.

Přidání obsahu pro atribut v existujícím elementu Grouping

Přidání popisného obsahu pro nový atribut v rámci existujícího prvku seskupení (karta):

  1. Identifikujte a vyhledejte příslušný soubor nápovědy.

  2. Pomocí editoru HTML otevřete soubor.

  3. Vyhledejte, kam chcete obsah přidat. Obvykle se jedná o další odstavec, například:

    <p xmlns="">A new paragraph with customized information.</p>

    Může se jednat také o položku vloženou do existujícího seznamu, například:

    <li class="unordered"><b>First Name</b> – The first name of the User.<br>
    <li class="unordered"><b>Last Name</b> - The last name of the User.<br>
    <li class="unordered"><b>Added a new line</b><br>
    

Přidání obsahu pro existující prvek seskupení

Většina stránek portálu FIM má více prvků seskupení (nebo karet) a doprovodné soubory nápovědy mají záložky oddíly, které se vztahují k jednotlivým prvkům seskupení. Záložky v HTML jsou uvedeny v oddílech. Toto je například kód HTML pro kartu Pracovní informace ze souboru nápovědy pro stránku Vytvořit uživatele na portálu FIM:

<a name="bkmk_grouping_WorkInfo" xmlns=""></a><h3 class="subHeading" xmlns="">Work Info</h3><p class="subHeading" xmlns=""></p><div class="subSection" xmlns="">

Odkazuje se na něj element Seskupení WorkInfo v souboru XML konfiguračních dat pro Konfigurace pro vytváření uživatelů RCDC. Název souboru \<GUID\>.htm a záložka jsou zadané v parametru my:Link:

<my:Grouping my:Name="WorkInfo" my:Caption="%SYMBOL_WorkInfoTabCaption_END%" my:Enabled="true" my:Visible="true"> <my:Help my:HelpText="%SYMBOL_WorkInfoTabHelpText_END%" my:Link="5e18a08b-4b20-48b8-90c6-c20f6cbeeb44.htm#bkmk_grouping_WorkInfo"/>

Ukázky jednoduchých ovládacích prvků

Tato část obsahuje ukázky pro vytváření různých jednoduchých ovládacích prvků textového pole.

Následující obrázek znázorňuje několik jednoduchých ovládacích prvků textového pole v různých režimech:

jednoduchých ovládacích prvků textového pole

Následující segment kódu vytvoří první ovládací prvek textového pole, který používá explicitní text pro všechny atributy a vlastnosti:

<!-- Sample for a simple control to use explicit information. (with hints)-->
<my:Control my:Name="ExplicitControl" my:TypeName="UocTextBox" my:Caption="Explicit Control" my:Description="This is explicit description." my:Hint="This is a Hint (enter any text).">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="True"/>
          <my:Property my:Name="RegularExpression" my:Value="[A-Z]*"/>
          <my:Property my:Name="Text" my:Value="Enter Information Here"/>
     </my:Properties>
</my:Control>
<!-- End of Sample for a simple control to use explicit information.-->

Následující segment kódu vytvoří druhý ovládací prvek textového pole, který používá techniku dynamické vazby k propojení ovládacího prvku s jiným zdrojem dat:

<!-- Sample for a simple control to use stored data information.-->
<my:Control my:Name="DynamicControl" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=DisplayName.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=DisplayName.Description, Mode=OneWay}" my:RightsLevel="{Binding Source=rights, Path=DisplayName, Mode=OneWay}">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=DisplayName.Required, Mode=OneWay}"/>
          <my:Property my:Name="RegularExpression" my:Value="{Binding Source=schema, Path=DisplayName.StringRegex, Mode=OneWay}"/>
          <my:Property my:Name="Text" my:Value="{Binding Source=object, Path=DisplayName, Mode=TwoWay}"/>
     </my:Properties>
</my:Control>
<!-- End of Sample for a simple control to use stored data information.-->

Následující segment kódu vytvoří třetí rozbalený popisek a ovládací prvek textového pole:

<!-- Sample for a simple expanded control with caption control.-->
<my:Control my:Name="SampleExpandLabel" my:TypeName="UocLabel" my:ExpandArea="true">
     <my:Properties>
          <my:Property my:Name="Text" my:Value="This is an expanded control."/>
     </my:Properties>
</my:Control>
<my:Control my:Name="ExpandedControl" my:TypeName="UocTextBox"
          my:ExpandArea="true">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="false"/>
          <my:Property my:Name="Columns" my:Value="40"/>
          <my:Property my:Name="Text" my:Value="Expanded control (enter text)"/>
     </my:Properties>
</my:Control>
<!-- End of Sample for a simple expanded control.-->

Následující segment kódu vytvoří čtvrtý zakázaný ovládací prvek textového pole. I když tento ovládací prvek nezobrazuje viditelný rozdíl mezi zakázaným a povoleným stavem, uživatel už nemůže do textového pole zadávat data.

<!-- Sample for a simple disabled control.-->
<my:Control my:Name="DisabledControl" my:TypeName="UocTextBox" my:Caption="Disabled Control" my:Description="This is disabled simple control." my:Enabled="false">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="false"/>
          <my:Property my:Name="MaxLength" my:Value="128"/>
          <my:Property my:Name="Text" my:Value="Disabled control"/>
     </my:Properties>
</my:Control>
<!-- End of Sample for a simple disabled control.-->

Jednotlivé ovládací prvky

Tato část dokumentuje jednotlivé ovládací prvky, které jsou součástí Microsoft Identity Manageru 2016 SP1.

UocButton

název : UocButton

Popis: Toto je jednoduchý ovládací prvek tlačítka, který můžete použít k aktivaci určitých akcí. Vzhledem k tomu, že nemůžete zadat vlastní obslužnou rutinu, je použití tohoto ovládacího prvku omezené.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • Text: Tato vlastnost určuje text, který se zobrazí na tlačítku. Jedná se o volitelný atribut typu string. Text přebírá explicitní řetězcovou hodnotu.

události:

  • OnButtonClicked: Událost se vygeneruje po kliknutí na tlačítko.

Příklad :

ovládací prvek UocButton

Následující segment XML vytvoří jednoduché ovládací tlačítko UocButton:

<!--Sample enabled simple button control-->
<my:Control my:Name="ButtonControl" my:TypeName="UocButton" my:Caption="SampleButton" my:Description="This is a simple button."
my:Hint="Click the button">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="True"/>
          <my:Property my:Name="Text" my:Value="Click Me"/>
     </my:Properties>
</my:Control>
<!--End of sample enabled simple button control -->

UocCaptionControl

název : UocCaptionControl

Popis: Tento ovládací prvek slouží k zobrazení titulku stránky RCDC. Tento ovládací prvek je navržený tak, aby se v seskupování záhlaví používal pouze jako jeden ovládací prvek. Použití v jakémkoli jiném kontextu může způsobit problémy s vykreslováním nebo chyby portálu.

režimu: Jen pro čtení (OneWay)

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • MaxHeight: Tato vlastnost určuje maximální výšku ikony v oddílu titulků. Tato vlastnost je nepovinná. Tato vlastnost přebírá celočíselnou hodnotu v pixelech. Výchozí hodnota je 32 pixelů.

události:

  • Pro tento ovládací prvek neexistují žádné události.

Příklad :

ovládací prvek UocCaptionControl

Následující segment kódu vygeneruje titulek záhlaví:

<!--Sample header caption control-->
<my:Control my:Name="SampleHeaderCaption" my:TypeName="UocCaptionControl" my:ExpandArea="true" my:Caption="Header Caption" my:Description="Description Starts here.">
     <my:Properties>
          <my:Property my:Name="MaxHeight" my:Value="32"/>
          <my:Property my:Name="MaxWidth" my:Value="32"/>
     </my:Properties>
</my:Control>
<!--End of sample header caption control-->

Následující segment kódu vygeneruje explicitní titulek obsahu:

<my:Control my:Name="SampleContentCaption" my:TypeName="UocCaptionControl" my:ExpandArea="true" my:Caption="Sample Explicit Content Caption" my:Description="Explicit content caption with smaller icon">
     <my:Properties>
          <my:Property my:Name="MaxHeight" my:Value="20"/>
          <my:Property my:Name="MaxWidth" my:Value="20"/>
     </my:Properties>
</my:Control>
<!--End of sample caption-->

Následující segment kódu vygeneruje zobrazovaný název dynamického titulku:

<!--Sample content dynamic caption-->
<my:Control my:Name="Caption3" my:TypeName="UocCaptionControl" my:Caption="{Binding Source=schema, Path=DisplayName.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=DisplayName.Description, Mode=OneWay}"/>
<!--End of sample caption -->

UocCheckBox

Název: UocCheckBox

Popis: Toto je jednoduchý ovládací prvek zaškrtávacího políčka. Doporučujeme, aby uživatel tento ovládací prvek sváže s daty typu Boolean. Tento ovládací prvek lze použít jako ovládací prvek jen pro čtení nebo aktualizovatelný ovládací prvek na základě dat, ke kterým je vázán.

Poznámka:

Pokud v této verzi použijete ovládací prvek zaškrtávacího políčka v režimu úprav k zobrazení logického atributu, pokud atribut nemá dříve přiřazenou hodnotu, ovládací prvek resource přidá hodnotu false atributu, když OK klikne v režimu úprav. Alternativním řešením je vždy vytvořit logický atribut, který předpokládá, že neexistující je stejný jako false, nebo použít jiné ovládací prvky, jako je přepínač pro logické atributy.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • DefaultValue: Jedná se o volitelnou logickou vlastnost typu. Výchozí hodnota je nastavená na false. Toto pole určuje výchozí chování zaškrtávacího políčka. To lze explicitně zadat.

  • Zaškrtnuté: Jedná se o volitelnou logickou vlastnost typu. Výchozí hodnota je nastavená na false. Tato hodnota přepíše DefaultValue vlastnost, pokud je přítomna spolu s DefaultValue. Toto pole určuje chování zaškrtávacího políčka. Podobně jako DefaultValue to lze zadat explicitně nebo svázat s daty ze serveru.

  • Textové: Jedná se o volitelný atribut typu string. Text se zobrazí vpravo od zaškrtávacího políčka. Tuto vlastnost můžete použít k zadání textu, který poskytuje koncovým uživatelům další informace.

události:

  • CheckedChanged: Když zaškrtávací políčko změní stav, tato událost se vygeneruje.

Příklad :

V následujícím příkladu se vytvoří vlastní vazba mezi vlastním typem prostředku a atributem IsConfigurationType. Xml se používá ve službě RCDC vlastního typu prostředku.

ovládací prvek UocCheckBox

Následující segment kódu vytvoří dynamické zaškrtávací políčko, jak je znázorněno jako dynamické zaškrtávací políčko na předchozím obrázku. Tento typ vazby je všestrannější a užitečnější než explicitní zaškrtávací políčko. Atribut musí patřit do aktuálního typu prostředku.

<!--Sample dynamic check box-->
<my:Control my:Name="SampleDynamicCheckBox" my:TypeName="UocCheckBox" my:Caption="Dynamic Check Box" my:Description="This is a dynamic check box. It saves to data source." my:RightsLevel="{Binding Source=rights, Path=IsConfigurationType}">
     <my:Properties>
          <my:Property my:Name="Text" my:Value="{Binding Source=schema, Path=IsConfigurationType.DisplayName, Mode=OneWay}"/>
          <my:Property my:Name="Checked" my:Value="{Binding Source=object, Path=IsConfigurationType, Mode=TwoWay}"/>
     </my:Properties>
</my:Control>
<!--End of sample dynamic check box -->

UocCommonMultiValueControl

název : UocCommonMultiValueControl

Popis: Jedná se o víceřádkový ovládací prvek textového pole, který podporuje speciální formátování řetězců. Každá hodnota mezi položkami s více hodnotami je oddělená od sebe středníkem (;) nebo koncem řádku v textovém poli. Tento ovládací prvek doporučujeme svázat s daty vícehodnotových, krátkých řetězců a celočíselových typů. Tento ovládací prvek podporuje režim jen pro čtení i aktualizovatelný režim.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • datový typ: Jedná se o povinný atribut typu string. Můžete to zadat jako Řetězec, celé číslonebo DateTime typu explicitně. Atribut můžete také svázat s vlastností DataType atributu schématu. Typ odkazu s více hodnotami by měl být zpracován UOCListView nebo UOCIdentityPicker. Logický typ s více hodnotami není podporovaným datovým typem.

  • řádky: Jedná se o volitelný atribut typu integer. Výšku pole můžete definovat v počtu znaků. Výchozí hodnota je nastavená na 1.

  • sloupce: Jedná se o volitelný atribut typu celé číslo. Můžete definovat, kolik šířky pole je v počtu znaků. Výchozí hodnota je nastavená na 20.

  • hodnota: Jedná se o volitelný atribut typu string. Tento atribut lze svázat pouze se zdrojem dat.

události:

  • ValueListChanged: Tato událost se aktivuje, když se změní aktuální hodnota ovládacího prvku.

Příklad:

V následujícím příkladu je vytvořen atribut řetězce s více hodnotami s názvem AMultiValueString je vázán na vlastní typ prostředku. Tento příklad funguje až po vytvoření této vazby.

ovládací prvek UocCommonMultiValueControl

Následující segment kódu generuje UocCommonMultiValueControl ovládacího prvku:

<!--Sample multivalue control-->
<my:Control my:Name="SampleDynamicMultiValueControl" my:TypeName="UocCommonMultiValueControl" my:Caption="{Binding Source=schema, Path=AMultiValueString.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=AMultiValueString.Description, Mode=OneWay}" my:RightsLevel="{Binding Source=rights, Path=AMultiValueString}">
     <my:Properties>
          <my:Property my:Name="Rows" my:Value="6"/>
          <my:Property my:Name="Columns" my:Value="60"/>
          <my:Property my:Name="DataType" my:Value="String"/>
          <!--not supported for above property my:Value={Binding Source=schema, Path=AMultiValueString.DataType, Mode=OneWay}"/>-->
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=AMultiValueString, Mode=TwoWay}"/>
     </my:Properties>
</my:Control>
<!--End of sample multivalue control -->

UocDateTimeControl

název : UocDateTimeControl

popis: Podobá se ovládacímu prvku textového pole, ale popis přijímá pouze určitý formát. V režimu jen pro čtení se zobrazí jako popisek. Formát vstupního řetězce, který je podporován, naleznete v části DateTimeFormat vlastnost v této části.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • DateTimeFormat: Jedná se o volitelný atribut typu string. Podporované formáty jsou DateTime a DateOnly. Výchozí hodnota je nastavena na formát DateTime.

    • DateTime: Atribut je formátován jako mm/dd/yyyy hh:mm:ss AM.

    • DateOnly: Atribut je formátován jako mm/dd/yy.

      Poznámka:

      Podporují se formáty DateTime i DateOnly bez ohledu na uživatele, který určuje rozdíl.

  • hodnota: Jedná se o volitelný atribut typu string. Tento atribut svážete se zdrojem dat prostředků. Hodnota tohoto atributu musí odpovídat správnému formátu data a času.

události:

  • DateTimeChanged: Když se hodnota datetime změní, dojde k události.

Příklad :

ovládací prvek UocDateTimeControl

Následující segment kódu vytvoří první ovládací prvek DateTime.

<!--Sample explicit DateTime control-->
<my:Control my:Name="SampleExplicitDateTimeControl" my:TypeName="UocDateTimeControl" my:Caption="Explicit Date Time Control" my:Description="The data shown here is explicit and in date time format.">
     <my:Properties>
          <my:Property my:Name="DateTimeFormat" my:Value="DateTime"/>
          <my:Property my:Name="Value" my:Value="11/11/2008 00:00:00"/>
     </my:Properties>
</my:Control>
<!--End of sample explicit DateTime control -->

Následující segment kódu vytvoří druhý ovládací prvek DateTime. Pokud jste v části Zdroje dat použili vzorový kód, je atribut ExpirationTime vázán na všechny typy prostředků. Můžete ho proto použít s následujícím kódem:

<!--Sample dynamic DateTime control-->
<my:Control my:Name="SampleDynamicDateTimeControl" my:TypeName="UocDateTimeControl" my:Caption="{Binding Source=schema, Path=ExpirationTime.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=ExpirationTime.Description, Mode=OneWay}" my:RightsLevel="{Binding Source=rights, Path=ExpirationTime}">
     <my:Properties>
          <my:Property my:Name="DateTimeFormat" my:Value="DateOnly"/>
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ExpirationTime, Mode=TwoWay}"/>
     </my:Properties>
</my:Control>
<!--End of dynamic explicit DateTime control -->

UocDropDownList

název : UocDropDownList

Popis: Toto je jednoduchý ovládací prvek rozevíracího seznamu. Tento ovládací prvek slouží k výběru možností z definované sady voleb. Datové typy řetězců, celých čísel, datetime a logických hodnot jsou vhodnými kandidáty pro tento ovládací prvek.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • ValuePath: Vlastnost pro získání atributu Value z ItemSource. Pokud je položka ItemSource zadána jako Vlastní, je cesta k hodnotě nastavena na Hodnotu. Vytvoří vazbu s polem Value z prvku Option, jak je popsáno v této části.

  • CaptionPath: Vlastnost pro získání atributu Value z ItemSource. Pokud je PoložkaSource zadána jako Vlastní, je cesta k hodnotě nastavena na Titulek. Vytvoří vazbu s polem Titulek z prvku Option, jak je popsáno v této části.

  • HintPath: Vlastnost pro získání atributu Value z ItemSource. Pokud je PoložkaSource zadána jako Vlastní, je cesta k hodnotě nastavena na Hint. Vytvoří vazbu s polem Hint z prvku Option, jak je popsáno v této části.

  • ItemSource: Kolekce ListControlItems, která definuje volby v seznamu. Uživatel může explicitně nastavit vlastní a použít Option element, jak je popsáno v této části, k určení řetězcové hodnoty.

  • SelectedValue: Hodnota, která je aktuálně vybrána. Toto je povinná vlastnost typu string. Tato vlastnost je svázaná s řetězcovými daty ze zdroje dat.

události:

  • SelectedIndexChanged: Událost nastane, když se výběr v rozevíracím seznamu změní.

Možnosti:

Struktura elementu Options naleznete v tématu Options element.

  • Hodnota: Hodnota jednoho prvku Options lze nastavit na libovolný řetězec, který je platným vstupem zdroje dat, ke kterému ovládací prvek vytvoří vazbu.

  • titulek: Titulek může být libovolná řetězcová hodnota.

  • nápovědy: Tip může být libovolná řetězcová hodnota.

Příklad :

ovládací prvek UocDropDownList

možnosti v ovládacím prvku UocDropDownList

Poznámka:

Aby ukázka fungovala, musíte vytvořit vazbu existujícího atributu typu řetězce Obor s vlastním typem prostředku, na který se vztahuje RCDC.

Následující segment kódu vygeneruje rozevírací seznam:

<!--Sample for drop-down list control-->
<my:Control my:Name="Scope" my:TypeName="UocDropDownList" my:Caption="{Binding Source=schema, Path=Scope.DisplayName}" my:RightsLevel="{Binding Source=rights, Path=Scope}">
     <my:Options>
          <my:Option my:Value="DomainLocal" my:Caption="Domain Local" my:Hint="to secure a local resource (i.e. a file share on your computer)" />
          <my:Option my:Value="Global" my:Caption="Global" my:Hint="to secure resources across your team or division" />
          <my:Option my:Value="Universal" my:Caption="Universal" my:Hint="to use this group across your organization" />
     </my:Options>
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Scope.Required" />
          <my:Property my:Name="ValuePath" my:Value="Value" />
          <my:Property my:Name="CaptionPath" my:Value="Caption" />
          <my:Property my:Name="HintPath" my:Value="Hint" />
          <my:Property my:Name="ItemSource" my:Value="Custom" />
          <my:Property my:Name="SelectedValue" my:Value="{Binding Source=object, Path=Scope, Mode=TwoWay}" />
     </my:Properties>
</my:Control>
<!--End of Sample for drop-down list control-->

UocFileDownload

název : UocFileDownload

Popis: Tento ovládací prvek obsahuje hypertextový odkaz. Po kliknutí na hypertextový odkaz se zobrazí stránka Soubor pro uložení systému Windows. Uživatel může soubor uložit na místní disk. Možnost Otevřít se podporuje také v případě, že Internet Explorer dokáže vykreslit formát souboru. Doporučené datové typy pro použití tohoto ovládacího prvku jsou formátovaný řetězec (XML) a binární typy.

Poznámka:

V této verzi Microsoft Identity Manageru 2016 SP1 musí uživatel zavřít okno Internet Exploreru, ve kterém soubor otevřel, a pak aktualizovat stránku. Po aktualizaci okna Aplikace Internet Explorer může uživatel spustit stahování a uložit nebo znovu otevřít stejný soubor v původním okně.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • Text: Jedná se o volitelný atribut typu řetězce, který definuje text hypertextového odkazu. Uživatel může zadat explicitní řetězec pro tuto vlastnost.

  • hodnota: Jedná se o povinný atribut. Určuje vazbu atributů na serveru, jehož obsah se má stáhnout.

  • PromptedFileName: Jedná se o volitelný atribut typu string. Toto je název souboru, který se doporučuje uživateli při uložení staženého souboru.

  • ContentType: Jedná se o povinný atribut typu string. Toto je typ souboru, do kterého se data ukládají. Textové nebo binární jsou dvě podporované možnosti řetězce. Pokud se jedná o text, návratová hodnota se považuje za dlouhý řetězec. V opačném případě se návratová hodnota považuje za bajt[]. Pokud je vybraný text, může uživatel jako možnost přidat příponu, která určuje typ formátu, ve kterém je text. Například text/xml je platný.

Poznámka:

Pokud je hodnota vázaná na tento ovládací prvek prázdná, chybí v ovládacím prvku hypertextový odkaz, který se má použít k aktivaci akce stahování. Je to proto, že není nic ke stažení.

události:

  • Pro tento ovládací prvek neexistují žádné události.

Příklad :

ovládací prvek UocFileDownload

Poznámka:

Před nahráním tohoto ukázkového souboru musí uživatel vytvořit vazbu mezi vlastním typem prostředku a existujícím atributem ConfigurationData.

Následující segment kódu vygeneruje ovládací prvek pro stahování souborů:

<!--Sample dynamic download control-->
<my:Control my:Name="SampleDynamicFileDownloadControl" my:TypeName="UocFileDownload" my:Caption="{Binding Source=schema, Path=ConfigurationData.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=ConfigurationData.Description, Mode=OneWay}" my:RightsLevel="{Binding Source=rights, Path=ConfigurationData}">
     <my:Properties>
          <my:Property my:Name="Text" my:Value="Download Dummy xml"/>
          <my:Property my:Name="PromptedFileName" my:Value="DummyXML.xml"/>
          <my:Property my:Name="ContentType" my:Value="text/xml"/>
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ConfigurationData}"/>
     </my:Properties>
</my:Control>
<!--End of dynamic download control -->

UocFileUpload

název : UocFileUpload

Popis: Tento ovládací prvek obsahuje textové pole, které zobrazuje umístění místního souboru, který se má nahrát, tlačítko procházet soubor a tlačítko pro nahrání. Když koncový uživatel klikne na tlačítko Procházet, zobrazí se okno Otevřít soubor systému Windows. Koncový uživatel může vybrat jeden soubor na místním disku, který chcete nahrát. Když je soubor vybraný, umístění souboru se zobrazí v textovém poli. Po kliknutí na tlačítko Nahrát se soubor nahraje do místního zdroje dat na straně klienta. Obsah souboru ještě není odeslán na server. Doporučené datové typy pro použití tohoto ovládacího prvku jsou následující: formátovaný řetězec (XML) nebo binární typy.

Poznámka:

Průběh nebo stav nahrávání se nezoznačují. Když se soubor nahraje do místního zdroje dat, textové pole se vymaže.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • hodnota: Jedná se o povinný atribut. Určuje vazbu atributu schématu na serveru, do kterého se data nahrají.

  • ContentType: Jedná se o volitelný atribut typu string. Toto je datový typ, na který je soubor uložen na serveru. Můžete ho nastavit na Text nebo Binary. Pokud vlastnost chybí, výchozí hodnota je Binary.

  • MaxFileSize: Jedná se o volitelný atribut typu string. MaxFileSize definuje, jak velkou velikost nahraného souboru může být. Pokud vlastnost chybí, je ve výchozím nastavení maximální velikost 1 megabajt (MB).

  • PromptedForNoValue: Jedná se o volitelný atribut typu string. Definuje text, který se uživateli zobrazí, když se soubor nenahraje.

události:

  • FileUploaded: Tato událost se vygeneruje při úspěšném nahrání souboru.

Příklad :

ovládací prvek UocFileUpload

Poznámka:

Aby následující ukázkový kód fungoval, musíte vytvořit nový atribut binárního typu s názvem ABinaryAttribute a pak vytvořit novou vazbu mezi vlastním typem prostředku a tímto atributem.

Následující segment kódu vygeneruje ovládací prvek pro nahrání:

<!--Sample dynamic upload control-->
<my:Control my:Name="SampleDynamicFileUploadControl" my:TypeName="UocFileUpload" my:Caption="{Binding Source=schema, Path=ABinaryAttribute.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=ABinaryAttribute.Description, Mode=OneWay}” my:RightsLevel="{Binding Source=rights, Path=ABinaryAttribute}">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ABinaryAttribute.Required}"/>
          <my:Property my:Name="ContentType" my:Value="Binary"/>
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ABinaryAttribute, Mode=TwoWay}"/>
     </my:Properties>
</my:Control>
<!--End of dynamic upload control -->

UocFilterBuilder

název : UocFilterBuilder

Popis: Jedná se o složitý ovládací prvek, který uživateli umožňuje vykreslit výraz XPath MIM 2016. Některé výrazy XPath nejsou podporovány. Informace o tom, jak používat tvůrce filtrů, najdete v nápovědě pro tvůrce filtrů.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • PermittedObjectTypes: Definuje seznam typů prostředků, které se mají zobrazit v příkazu select tvůrce filtrů. Informace o tom, jak používat tvůrce filtrů, najdete v nápovědě k tvůrci filtrů. Řetězec je ve formátu ResourceTypeA, ResourceTypeB, kde každý typ prostředku je oddělený čárkou ",".

  • hodnota: Jedná se o hodnotu, se kterou se tvůrce filtrů vykresluje. Podporuje se pouze vazba s daty typu string, která obsahuje výraz XPath. Atribut Filter je doporučeným atributem pro vazbu tohoto ovládacího prvku.

  • PreviewButtonVisible: Jedná se o volitelnou logickou vlastnost typu. Pokud je tato vlastnost nastavena na false, uživatel nevidí tlačítko Náhled. Výchozí hodnota je nastavená na hodnotu true. Toto tlačítko lze použít v kombinaci s ovládacím prvku zobrazení seznamu k zobrazení náhledu výsledků výrazu XPath.

  • ExcludeGroupMembership: Jedná se o logickou vlastnost. Pokud je tato vlastnost nastavena na hodnotu true, nelze vytvořit filtr, který používá <Referenční atribut> (například ResourceID) je členem objektu skupiny <skupiny>. Jinými slovy, pokud je tato vlastnost nastavena na hodnotu true, nelze vytvořit filtr, který používá adresář členství ve skupině.

  • PreviewButtonCaption: Jedná se o volitelný řetězec. Pokud je NáhledButtonVisible nastaven na hodnotu true, můžete pomocí této vlastnosti dát tlačítku přizpůsobený text. Text se zobrazí na tlačítku Náhled.

události:

  • OnFilterChanged: Tato událost se aktivuje, když se změní obsah tvůrce filtru.

Příklad :

ovládacích prvků UocFilterBuilder

Následující ukázkový kód obsahuje ovládací prvek UOCLabel, jednoduchý tvůrce filtrů s PermittedObjectTypes a zobrazení seznamu náhledu. Nasměrujte vlastnost ListFilter zobrazení seznamu a vlastnost Value tvůrce filtru na stejný atribut zdroje dat, aby bylo propojení těchto dvou.

Poznámka:

Před použitím tohoto ukázkového kódu vytvořte novou vazbu mezi existujícím atributem filtru a vlastním typem prostředku.

<!--Sample filter builder with preview list-->
<my:Control my:Name="ComplexFilterBuilderLabel" my:TypeName="UocLabel" my:ExpandArea="true">
     <my:Properties>
          <my:Property my:Name="Text" my:Value="This is a Filter Builder with preview."/>
     </my:Properties>
</my:Control>
<my:Control my:Name="ComplexFilterBuilder" my:TypeName="UocFilterBuilder" my:RightsLevel="{Binding Source=rights, Path=Filter}" my:ExpandArea="true">
     <my:Properties>
          <my:Property my:Name="PermittedObjectTypes" my:Value="Person,Group" />
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=Filter, Mode=TwoWay}" />
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Filter.Required, Mode=OneWay}" />
     </my:Properties>
</my:Control>
<my:Control my:Name="FilterBuilderwithpreview" my:TypeName="UocListView" my:ExpandArea="true">
     <my:Properties>
          <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName,ObjectType,AccountName" />
          <my:Property my:Name="EmptyResultText" my:Value="There is no members according to the filter definition." />
       <my:Property my:Name="PageSize" my:Value="10" />
       <my:Property my:Name="ShowTitleBar" my:Value="false" />
       <my:Property my:Name="ShowActionBar" my:Value="false" />
       <my:Property my:Name="ShowPreview" my:Value="false" />
       <my:Property my:Name="ShowSearchControl" my:Value="false" />
       <my:Property my:Name="EnableSelection" my:Value="false" />
       <my:Property my:Name="SingleSelection" my:Value="false" />
       <my:Property my:Name="ItemClickBehavior" my:Value=" ModelessDialog "/>
       <my:Property my:Name="ListFilter" my:Value="{Binding Source=object, Path=Filter}" />
     </my:Properties>
</my:Control>
<!--end of sample filter builder with preview-->

UocHtmlSummary

název : UocHtmlSummary

Popis: Tento ovládací prvek můžete použít k definování souhrnné stránky na stránce RCDC. Tato souhrnná stránka se zobrazí po odeslání žádosti koncovým uživatelem. Tento ovládací prvek lze použít pouze v souhrnném seskupení a musí to být jediný ovládací prvek. Důrazně doporučujeme použít ukázkový kód, který je k dispozici.

Poznámka:

Tento ovládací prvek nebyl široce testován.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • ModificationsXml: Tato vlastnost musí být naformátovaná jako {Binding Source=delta, Path=DeltaXml}, kde delta je definována v hlavičce configuration ObjectDataSource.

  • TransformXsl: Tato vlastnost je formátovaná jako {Binding Source=summaryTransformXsl, Path=/}, kde summaryTransformXsl je definována v hlavičce konfigurace XmlDataSource.

události:

  • Pro tento ovládací prvek neexistují žádné události.

Příklad :

Ukázku tohoto ovládacího prvku najdete v příkladu pro seskupení v části Seskupování prvků tohoto dokumentu.

název : UocHyperLink

Popis: Toto je jednoduchý ovládací prvek hypertextového odkazu. Tento ovládací prvek můžete použít k zobrazení informací jako hypertextového odkazu.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • ObjectReference: Jedná se o volitelnou vlastnost typu odkazu. Pokud je platný prostředek odkazován identifikátorem GUID, který je definován v této vlastnosti, hypertextový odkaz poskytuje koncovému uživateli způsob, jak získat přístup k prostředku. To se vzájemně vylučují s NavigateUrl vlastnost.

  • Text: Jedná se o volitelnou vlastnost typu řetězec. Tuto vlastnost použijete k definování textu, který se zobrazí jako hypertextový odkaz.

  • NavigateUrl: Jedná se o volitelnou vlastnost typu string. Tuto vlastnost použijete k definování adresy URL s úplnou cestou, na kterou hypertextový odkaz odkazuje. To se vzájemně vylučují s ObjectReference vlastnost.

události:

  • Pro tento ovládací prvek neexistují žádné události.

Příklad :

ovládací prvek UocHyperLink

Poznámka:

K propojení tohoto prostředku potřebujete platný identifikátor GUID prostředku. V tomto případě se druhý hypertextový odkaz vygeneruje s platným identifikátorem GUID. První z nich může být libovolný web.

Následující segment kódu vygeneruje hypertextový odkaz pro přesměrování:

<!--Sample for a hyperlink that redirects page.-->
<my:Control my:Name="RedirectHyperlink" my:TypeName="UocHyperLink" my:Caption="Redirect Hyperlink" my:Description="This is a hyperlink that takes you to other pages.">
     <my:Properties>
          <my:Property my:Name="NavigateUrl" my:Value="http://www.microsoft.com"/>
          <my:Property my:Name="Text" my:Value="Microsoft Home Page"/>
     </my:Properties>
</my:Control>
<!--End of Sample for a hyperlink that redirect page-->

Následující segment kódu vygeneruje hypertextový odkaz, který odkazuje na prostředek. Explicitní odkaz může být nahrazen výrazem {Binding Source=object, Path=Creator} pro vytvoření vazby se zdrojem dat. To může být platné pouze v případě, že správce prostředku existuje a má hodnotu typu odkaz.

<!--Sample for a hyperlink that reference object-->
<my:Control my:Name="ReferenceHyperlink" my:TypeName="UocHyperLink" my:Caption="Reference Hyperlink" my:Description="This is a hyperlink gives you an object view of the reference object">
     <my:Properties>
          <my:Property my:Name="ObjectReference" my:Value="e4e048b1-9e43-415e-806c-cf44c429c34c"/>
          <my:Property my:Name="Text" my:Value="View a group in FIM 2010."/>
     </my:Properties>
</my:Control>
<!--End of Sample for a hyperlink that reference object-->

UocIdentityPicker

název : UocIdentityPicker

Popis: Tento ovládací prvek se skládá z volitelného pole Vyřešit a okna Procházet. Volitelné pole Vyřešit se skládá z volitelného textového pole pro zadání identity, tlačítka Vyřešit pro vyřešení identity a tlačítka Procházet pro zobrazení výzvy automaticky otevíraného okna Procházet. Okno Procházet umožňuje uživateli vybrat identity prostřednictvím ovládacího prvku zobrazení seznamu. Vybraná identita z okna Procházet se projeví v poli Vyřešit.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • UsageKeywords: Jedná se o volitelnou vlastnost řetězce. Seznam oborů vyhledávání, které se mají použít ve výběru prostředků, můžete definovat tak, že zadáte seznam klíčových slov použití podporovaných strukturou SearchScopeConfiguration, kde každé klíčové slovo je oddělené apostrofem (').

  • filtr: Jedná se o volitelnou vlastnost řetězce. Uživatel poskytuje výraz XPath pro určení rozsahu výběru prostředků, aby se zobrazily pouze položky, které se vejdou do definovaného oboru. Tato vlastnost se vzájemně vylučují s vlastností UsageKeywords. Při použití oboru vyhledávání tato vlastnost nemá žádný vliv.

  • ResultObjectType: Jedná se o volitelnou vlastnost řetězce. Typ prostředku slouží k vykreslení prostředků v automaticky otevíraných dialogových oknech. To se používá s filtrem, který pomáhá nástroji pro výběr identity identifikovat typ prostředku vrácený filtrem, a odpovídajícím způsobem vykreslit data. Tato vlastnost se vzájemně vylučují s vlastností UsageKeywords. Když se použije obor vyhledávání, nemá to žádný vliv. Řetězec, který je přijat pro tuto vlastnost, je libovolný jeden, platný název typu prostředku, například Person. Pokud se očekává, že filtr vrátí více typů prostředků, použije se prostředek.

  • NáhledTitle: Toto je název náhledu použitý v zobrazení seznamu. Informace o této vlastnosti naleznete v části UocListView.

  • ListViewTitle: Toto je volitelná vlastnost řetězce. Pomocí této vlastnosti můžete definovat text zobrazený nad zobrazením seznamu jako název.

  • hodnota: Jedná se o volitelnou vlastnost řetězce. Doporučujeme vytvořit vazbu s atributem schématu pro připojení hodnoty ke zdroji dat.

  • Mode: Jedná se o volitelnou vlastnost řetězce. Tuto vlastnost použijete k definování, zda lze vybrat jednu hodnotu pomocí nástroje pro výběr identity nebo více identit lze vybrat. SingleResult a MultipleResult jsou povolené hodnoty. Ve výchozím nastavení je nastavená na SingleResult.

  • ObjectTypes: Jedná se o volitelnou vlastnost typu string. Můžete definovat seznam typů prostředků, se kterými může koncový uživatel přeložit položky v poli Překlad nástroje pro výběr identity. Seznam se skládá ze seznamu názvů typů prostředků oddělených čárkou ,.

  • AttributesToSearch: Jedná se o volitelnou vlastnost typu string. Můžete definovat seznam atributů, které se mají použít k překladu položky v nástroji pro výběr identity, kde je seznam seznamem atributů schématu oddělených čárkou ,. Pokud je například AtributsToSearch nastaven na DisplayName, Alias, uživatel může hledat položky pomocí DisplayName = \<search value\> nebo Alias=\<search value\>. Názvy atributů, které jsou zde zadány, by měly být platné atributy pro cílové typy prostředků zdroje dat, který je zadán ve vlastnosti Value. Typy cílových prostředků najdete v poli ObjectTypes. Všechny atributy musí být platné pro všechny zadané typy prostředků, které jsou citovány v poli ObjectTypes.

  • ColumnsToDisplay: Jedná se o volitelnou vlastnost typu string. Uživatel poskytuje seznam názvů atributů schématu oddělených čárkou ,. Atributy, které jsou zde definovány, tvoří sloupec zobrazení seznamu v nástroji Pro výběr identity.

  • řádky: Jedná se o volitelnou celočíselnou vlastnost. Funguje jenom v případech, kdy je režim nastavený na MultipleResult. Tato vlastnost slouží k nastavení výšky textového pole Resolve na danou velikost v jednotkách znaků.

  • MainSearchScreenText: Jedná se o volitelnou vlastnost typu string. Jedná se o přizpůsobený text, který se zobrazí, když je hledání spuštěné v okně Procházet.

události:

  • SelectedObjectChanged: Tato událost se vygeneruje, když uživatel změní vybrané prostředky.

Příklad :

řízení UocIdentityPicker v režimu SingleResult

Poznámka:

Aby tato ukázka fungovala, musíte vytvořit novou vazbu mezi atributem Správce a libovolným vlastním typem prostředku, na který se tento KÓD XML vztahuje.

Následující segment kódu vygeneruje výběr identity v režimu SingleResult pomocí vlastností Filter a ResultObjectType jako součást RCDC:

<!--Sample for a single-selection identity picker using Filter and Result Object Type-->
<my:Control my:Name="SingleSelectionIdentityPicker" my:TypeName="UocIdentityPicker" my:Caption="A Single Selection Identity Picker" my:Description="The user is allowed to select only one entry here." my:RightsLevel="{Binding Source=rights, Path=Manager}">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Manager.Required}"/>
          <my:Property my:Name="Mode" my:Value="SingleResult" />
          <!--Columns displayed in list view in pop-up window-->
          <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName, ObjectType" />
          <!--Identities will be resolved against following attribute in the resolve textbox when resolve button is clicked.-->
          <my:Property my:Name="AttributesToSearch" my:Value="DisplayName, AccountName" />
          <!--single valued reference type attribute is used to bind the control-->
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=Manager , Mode=TwoWay}" />
          <!--Scoping the list explicitly to All Persons name contains letter "e"-->
          <my:Property my:Name="Filter" my:Value="/Person[contains(JobTitle, 'Manager')]"/>
          <!--Result object type specify the type is Person-->
          <my:Property my:Name="ResultObjectType" my:Value="Person"/>
          <my:Property my:Name="ListViewTitle" my:Value="Select only one entry" />
          <my:Property my:Name="PreviewTitle" my:Value="Entry selected:" />
     </my:Properties>
</my:Control>
<!--End of sample for a single-selection identity picker.-->

Následující obrázek znázorňuje výběr identity v režimu MultipleResult:

ovládací prvek UocIdentityPicker v režimu MultipleResult

Poznámka:

Aby tento ukázkový kód fungoval, musíte svázat atribut ExplicitMember (atribut odkazu s více hodnotami) na vlastní typ prostředku. Vytvořte obory vyhledávání s vlastností UsageKeyword nastavenou na Person a Group.

Následující segment kódu vytvoří výběr identity v režimu MultipleResult:

<!--Sample for a multiselection Identity Picker uses Search Scope-->
<my:Control my:Name="multiSelectionIdentityPicker" my:TypeName="UocIdentityPicker" my:Caption="A multi Selection Identity Picker" my:Description="The user is allowed to select more than one entry here" my:RightsLevel="{Binding Source=rights, Path=ExplicitMember}">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ExplicitMember.Required}"/>
          <my:Property my:Name="Mode" my:Value="MultipleResult" />
          <my:Property my:Name="Rows" my:Value="10" />
          <!--There are existing search scopes that has key word "Person" and "Group" use both sets of search scopes here.-->
          <my:Property my:Name="UsageKeywords" my:Value="Person,Group"/>
          <!--Columns displayed in list view in pop-up window-->
          <my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName, ObjectType" />
          <!--Identities will be resolved against following attribute in the resolve textbox when resolve button is clicked.-->
          <my:Property my:Name="AttributesToSearch" my:Value="DisplayName, AccountName" />
          <!--multi valued reference type attribute is used to bind the control-->
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ExplicitMember , Mode=TwoWay}" />
          <my:Property my:Name="ResultObjectType" my:Value="Resource"/>
          <my:Property my:Name="ListViewTitle" my:Value="Select multiple entries" />
          <my:Property my:Name="PreviewTitle" my:Value="Entries selected" />
     </my:Properties>
</my:Control>
<!--End of sample for a multiselection Identity Picker.-->

UocLabel

Název: UocLabel

Popis: Jedná se o jednoduchý ovládací prvek popisku textu jen pro čtení. Tento ovládací prvek doporučujeme použít k zobrazení dat jen pro čtení.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • Textové: Jedná se o atribut typu řetězec. Tuto vlastnost definujete tak, že poskytnete explicitní řetězcovou hodnotu nebo ji provážete se zdrojem dat. Ukázková vazba, která přiřadí hodnotu této vlastnosti, je {Binding Source=object, Path=<platný název atributu>.

Ukázku ovládacího prvku UocLabel najdete v jednoduchém ovládacím prvku v části Ukázky jednoduchých ovládacích prvků.

UocListView

Název: UocListView

Popis: Toto je rozšířený ovládací prvek zobrazení seznamu. Skládá se z jednoduchého zobrazení seznamu, volitelného jednoduchého vyhledávání, volitelného rozšířeného ovládacího prvku hledání, volitelného pole náhledu výběru a panelu tlačítek akcí. Volitelné jednoduché hledání se skládá z oboru hledání a jednoduchého vyhledávacího textového pole. Ovládací prvek rozšířeného vyhledávání je tvůrce filtrů. Zobrazení seznamu zobrazuje předem zobrazený seznam prostředků. Může také zobrazit výsledky hledání pocházející z ovládacích prvků hledání v tomto ovládacím prvku. Panel tlačítka akce definuje, jakou akci lze provést na základě výběru v zobrazení seznamu. Pole Náhled výběru ukazuje, které položky jsou vybrány ze zobrazení seznamu.

Důležité

UocListView nefunguje s odkazovými atributy s jednou hodnotou. Lze ji použít pouze s vícehodnotovými referenčními atributy. Referenční atributy s jednou hodnotou najdete v tomto dokumentu v UocIdentityPickeru.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • SelectedValue: Jedná se o volitelnou vlastnost typu string, která je vázaná na atribut odkazu s více hodnotami, který přijímá seznam řetězců formátovaných identifikátorem GUID.

  • PageSize: Jedná se o volitelnou celočíselnou vlastnost. Uživatel může určit, kolik položek se vejde na jednu stránku v ovládacím prvku zobrazení seznamu. Výchozí hodnota je 10 položek. Jakékoli kladné celé číslo je platné.

  • UsageKeyword: Jedná se o volitelnou vlastnost typu string. Uživatel může zadat seznam klíčových slov, která definují, jaký obor vyhledávání se používá v ovládacím prvku hledání v zobrazení seznamu. Na serveru FIM 2010 existují prostředky oboru vyhledávání. Atribut ve struktuře SearchScopeConfiguration s názvem UsageKeyword se používá k seskupení sady oborů vyhledávání. Zobrazení seznamu využívá tento seznam klíčových slov. Každé klíčové slovo je oddělené čárkou (,). Toto je klíčové slovo použití použité v odpovídajícím oboru vyhledávání, který chcete zobrazit v tomto zobrazení seznamu. To platí pouze v případě, že ShowSearchControl vlastnost je nastavena na true.

  • SearchControlAutoPostback: Toto je volitelná logická vlastnost. Nastavte hodnotu této vlastnosti na hodnotu true, aby se při aktivaci vyhledávání provedlo automatické zpětné odeslání. Ve výchozím nastavení je Vlastnost SearchControlAutoPostback nastavena na hodnotu false.

  • EmptyResultText: Jedná se o volitelnou vlastnost typu string. Ve výchozím nastavení je nastavená na Žádné položky, ale lze ji nastavit na libovolnou řetězcovou hodnotu. Tento text se zobrazí, když je výsledek hledání prázdný.

  • ButtonHeight: Jedná se o volitelnou celočíselnou vlastnost. Nastavte hodnotu této vlastnosti na libovolnou kladnou celočíselnou hodnotu. Tato vlastnost definuje výšku tlačítek na panelu akcí v pixelech. Výchozí hodnota je 32 pixelů.

  • ButtonWidth: Jedná se o volitelnou celočíselnou vlastnost. Nastavte hodnotu této vlastnosti na libovolnou kladnou celočíselnou hodnotu. Tato vlastnost definuje šířku tlačítek na panelu akcí v pixelech. Výchozí hodnota je 32 pixelů.

  • CaptionImageMaxHeight: Jedná se o volitelnou celočíselnou vlastnost. Nastavte hodnotu této vlastnosti na libovolné kladné celé číslo. Tato vlastnost definuje maximální výšku ikony volitelného titulku. Výchozí hodnota je 32 pixelů.

  • CaptionImageMaxWidth: Jedná se o volitelnou celočíselnou vlastnost. Nastavte hodnotu této vlastnosti na libovolné kladné celé číslo. Tato vlastnost definuje maximální šířku ikony volitelného titulku. Výchozí hodnota je 32 pixelů.

  • CaptionImageUrl: Jedná se o volitelnou vlastnost typu string. Tato vlastnost definuje adresu URL, která odkazuje na obrázek, který se zobrazí jako obrázek titulku.

  • PreviewTitle: Jedná se o volitelnou vlastnost typu string. Tuto vlastnost použijete k definování textu, který se zobrazí nad polem náhledu výběru.

  • EnableSelection: Jedná se o volitelnou logickou vlastnost typu. Tuto vlastnost použijete k definování, zda je zobrazení seznamu v režimu výběru. Pokud je zobrazení seznamu v režimu výběru, zobrazí se sloupec zaškrtávacích políček v zobrazení seznamu úplně vlevo a v dolní části zobrazení seznamu se zobrazí pole náhledu výběru. Výchozí hodnota této vlastnosti je nastavena na hodnotu true.

  • SingleSelection: Jedná se o volitelnou logickou vlastnost typu. Pokud je režim výběru pro zobrazení seznamu zapnutý, nastavením této hodnoty na true omezí koncový uživatel výběr pouze jedné položky ze seznamu. Ve výchozím nastavení je hodnota této vlastnosti nastavena na false. To znamená, že koncový uživatel ve výchozím nastavení může ze seznamu vybrat více položek.

  • RedirectUrl: Jedná se o volitelnou vlastnost typu string. Pomocí této vlastnosti můžete určit stránku, na kterou se má přesměrovat při kliknutí na položku hypertextového odkazu v seznamu. Tato adresa URL může obsahovat zástupné symboly, které se během běhu nahradí skutečnou hodnotou. Zástupné symboly jsou následující:

    • {0} objectType
    • id objektu {1}
    • {2} displayName
  • ShowTitleBar: Jedná se o volitelnou logickou vlastnost typu. Pomocí této vlastnosti určete, zda má být záhlaví viditelné. Výchozí hodnota této vlastnosti je false.

  • ShowActionBar: Jedná se o volitelnou logickou vlastnost typu. Pomocí této vlastnosti určete, zda má být oblast panelu akcí viditelná. Výchozí hodnota této vlastnosti je true.

  • ShowPreview: Jedná se o volitelnou logickou vlastnost typu. Pomocí této vlastnosti určete, zda má být oblast náhledu viditelná. Výchozí hodnota této vlastnosti je true.

  • ShowSearchControl: Jedná se o volitelnou logickou vlastnost typu. Pomocí této vlastnosti určete, zda má být ovládací prvek vyhledávání viditelný. Výchozí hodnota této vlastnosti je true.

  • ResultObjectType: Jedná se o volitelnou vlastnost typu string. Tato vlastnost slouží k určení očekávaného typu objektu výsledků hledání. Výchozí hodnota této vlastnosti je Resource. Pokud výsledek hledání obsahuje více typů prostředků, měla by být tato hodnota zadána jako Prostředek.

  • ColumnsToDisplay: Toto je volitelná vlastnost. Tato vlastnost slouží k určení atributů, které má zobrazení seznamu zobrazit jako sloupce. Výchozí hodnota této vlastnosti je DisplayName, ResourceType. Každý sloupec je reprezentován systémovým názvem atributu. Každý sloupec je oddělený čárkou ,. Při použití zobrazení seznamu v režimu výběru nemusíte zadávat hodnotu této vlastnosti. V režimu výběru pochází nastavení sloupce z atributu SearchScopeColumn oboru vyhledávání, který je aktuálně vybrán.

  • ListFilter: Jedná se o volitelnou vlastnost typu string. Toto je xpath, který se používá k vykreslení zobrazení seznamu a je v platnosti pouze v případě, že ShowSearchControl vlastnost je nastavena na false. Pokud je tato hodnota zadaná, zobrazení seznamu používá tuto hodnotu vlastnosti pro dotazy a zobrazení seznamu není v režimu výběru. Filtr může být vázán na atribut řetězce prostředku:

    <my:Property my:Name="ListFilter" my:Value="{Binding Source=object, Path=Filter}"/>

    nebo jako řetězec, který obsahuje některou předdefinovanou proměnnou prostředí:

    <my:Property my:Name="ListFilter" my:Value="/Approval[Request=''%ObjectID%'']"/>

  • TargetAttribute: Toto je zastaralá vlastnost. Jeho hodnota by měla být systémovým názvem odkazovaného atributu s více hodnotami. Doporučujeme, aby se tato vlastnost už nepoužívala. Například ve správě skupin místo použití:

    <my:Property my:Name="TargetAttribute" my:Value="ExplicitMember"/>

    Používat:

    <my:Property my:Name=”ListFilter” my:Value=”/Group[ObjectID=’%ObjectID%’]/ExplicitMember”/>

  • ItemClickBehavior: Jedná se o volitelnou vlastnost typu string. Pomocí této vlastnosti můžete určit, zda chcete, aby položka zobrazení seznamu kliknutím aktivovala zpětné odeslání serveru nebo zobrazení podrobností o položce. Podporují se dvě hodnoty možností: ModelessDialog a Server. Výchozí hodnota je ModelessDialog.

  • SearchOnLoad: Jedná se o volitelnou logickou vlastnost typu, která určuje, zda má ovládací prvek zobrazení seznamu dotazovat při zatížení. Tato vlastnost se vztahuje pouze v případě, že je zobrazení seznamu v režimu výběru. Výchozí hodnota této vlastnosti je true. Můžete ho vypnout, pokud očekáváte, že uživatel obvykle zadá text do hledání, aby získal smysluplný výsledek. V tomto případě se v zobrazení seznamu zpočátku zobrazí zpráva, která uživateli řekne, jak provést hledání. Text lze přizpůsobit následujícími vlastnostmi:

  • MainSearchScreenText: Tato volitelná vlastnost typu řetězec platí pouze v případě, že searchOnload je nastaven na hodnotu true. Tuto vlastnost lze použít k přizpůsobení textu, který se zobrazí uprostřed zobrazení seznamu, když zobrazení seznamu neprohledává automaticky. Výchozí hodnota této vlastnosti je Najít prostředky pomocí vyhledávání, jak jsme popsali dříve. Můžete zadat hodnotu, která bude text pro váš scénář relevantnější.

  • SubSearchScreenText: Tato volitelná vlastnost typu řetězec slouží k přizpůsobení textu, který se zobrazí za vlastností MainSearchScreenText. Obvykle nemusíte zadávat hodnotu pro tuto vlastnost, pokud nechcete přidat další pokyny k použití zobrazení seznamu.

události:

  • Pro tento ovládací prvek neexistují žádné události.

Příklad :

Příklady použití zobrazení seznamu spolu s ovládacím prvku UocFilterBuilder jako seznam náhledu najdete v ukázkách UocFilterBuilder výše v tomto dokumentu. UocListView lze použít také bez tvůrce filtrů.

UocNumericBox

Název: UocNumericBox

Popis: Toto je jednoduché textové pole, které přijímá pouze celočíselné hodnoty. Tento ovládací prvek podporuje režim jen pro čtení i aktualizovatelný režim.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • MaxValue: Jedná se o volitelnou celočíselnou vlastnost. Tato vlastnost slouží k definování ověřování na straně klienta pro ovládací prvek. Hodnota, kterou koncový uživatel zadá, nemůže tuto hodnotu překročit. Můžete zadat explicitní celé číslo nebo vytvořit vazbu s celočíselnou daty ze zdroje dat pomocí {Binding Source=schema, Path=IntegerMaximum}.

  • MinValue: Jedná se o volitelnou celočíselnou vlastnost. Tato vlastnost slouží k definování ověřování na straně klienta pro ovládací prvek. Hodnota, kterou koncový uživatel zadá, nemůže být nižší než tato hodnota. Můžete zadat explicitní celé číslo nebo ho svázat s celočíselnou daty ze zdroje dat pomocí {Binding Source=schema, Path=IntegerMinimum}.

  • DefaultValue: Jedná se o volitelnou celočíselnou vlastnost. Tato vlastnost slouží k definování výchozí hodnoty ovládacího prvku, pokud se ovládací prvek používá k vytvoření nových dat. Tuto hodnotu lze explicitně nastavit pouze na statické celé číslo.

  • Hodnota: Jedná se o volitelnou celočíselnou vlastnost. Když svážete tuto vazbu s celočíselnou hodnotou dat ze zdroje dat, zobrazí se při načtení stránky hodnota tohoto atributu a po odeslání se uloží do zdroje dat.

události:

  • TextChanged: Tato událost se vygeneruje, když se změní aktuální hodnota uvnitř ovládacího prvku.

Příklad :

ovládací prvek UocNumericBox

Poznámka:

Následující ukázkový kód vygeneruje první číselné pole. Číselné pole není připojeno ke zdroji dat ani k žádným informacím o schématu.

<!--Sample for an explicit Numeric Box-->
<my:Control my:Name="SampleExplicitNumericBox" my:TypeName="UocNumericBox" my:Caption="An Explicit NumericBox" my:Description="This is a dummy numeric box that is not linked with data source.">
     <my:Properties>
          <my:Property my:Name="MinValue" my:Value="1"/>
          <my:Property my:Name="MaxValue" my:Value="100"/>
          <my:Property my:Name="DefaultValue" my:Value="1"/>
     </my:Properties>
</my:Control>
<!--End of sample for an explicit Numeric Box.-->

Následující vzorový kód vygeneruje druhé číselné pole.

Poznámka:

Aby tato ukázka fungovala, musíte nejprve vytvořit nový atribut typu integer s názvem AnIntegerAttribute a vytvořit vazbu s vlastním typem prostředku.

<!--Sample for a dynamically rendered numeric box-->
<my:Control my:Name="SampleDynamicNumericBox" my:TypeName="UocNumericBox" my:Caption="{Binding Source=schema, Path=AnIntegerAttribute.DisplayName}" my:Description="{Binding Source=schema, Path=AnIntegerAttribute.Description}" my:RightsLevel="{Binding Source=rights, Path=AnIntegerAttribute}">
     <my:Properties>
          <my:Property my:Name="MaxValue" my:Value="{Binding Source=schema, Path=AnIntegerAttribute.IntegerMaximum}"/>
          <my:Property my:Name="MinValue" my:Value="{Binding Source=schema, Path=AnIntegerAttribute.IntegerMinimum}"/>
          <my:Property my:Name="DefaultValue" my:Value="1"/>
          <my:Property my:Name="Value" my:Value="{Binding Source=object, Path=AnIntegerAttribute, Mode=TwoWay}"/>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=AnIntegerAttribute.Required}"/>
     </my:Properties>
</my:Control>
<!--End of sample for a dynamically numeric box.-->

UocPictureBox

název : UocPictureBox

Popis: Tento ovládací prvek slouží k vykreslení obrázku, dat binárního typu. Tento ovládací prvek doporučujeme použít s daty binárního typu. Obrázek lze vykreslit pomocí zadané adresy URL obrázku, dat binárního typu nebo zdroje atributů, který obsahuje data typu obrázku.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • ImageUrl: Jedná se o volitelnou vlastnost typu string. Zadejte adresu URL cílového obrázku.

  • MaxHeight: Jedná se o volitelnou vlastnost typu řetězce. Definuje maximální výšku obrázku, která se má vykreslit v pixelech.

  • MaxWidth: Jedná se o volitelnou vlastnost typu string. Definuje maximální šířku obrázku, která se má vykreslit v pixelech.

  • ImageData: Toto je vlastnost binárního typu. Tato vlastnost slouží k vytvoření vazby zdroje dat se zobrazeným obrázkem. Vázaný zdroj dat musí být binární. Toto pole můžete také použít k explicitnímu nastavení obrázku zadáním dat ve formátu byte[].

  • ImageResource: Jedná se o volitelnou vlastnost binárního typu.

  • AlternativeText: Jedná se o volitelnou vlastnost typu string. Tato vlastnost se zobrazí jako alternativní text, pokud obrázek nelze zobrazit.

události:

  • Pro tento ovládací prvek neexistují žádné události.

Příklad :

Poznámka:

Pokud chcete použít tuto ukázku, musíte mít existující vazbu dat obrázku s ovládacím prvku.

Následující segment kódu vygeneruje ovládací prvek pole obrázku, který sváže zdroj dat s ovládacím prvek:

<!--Sample for a Picture Box control binding with a data source-->
<my:Control my:Name="SamplePictureBoxImageData" my:TypeName="UocPictureBox" my:RightsLevel="{Binding Source=rights, Path=Photo}">
     <my:Properties>
          <my:Property my:Name="MaxHeight" my:Value="100" />
          <my:Property my:Name="MaxWidth" my:Value="100" />
          <my:Property my:Name="ImageData" my:Value="{Binding Source=object, Path=Photo}" />
     </my:Properties>
</my:Control>
<!--End of Sample for a Picture Box control-->

Následující segment kódu vygeneruje ovládací prvek pole obrázku, který sváže obrázek adresy URL s ovládacím prvku:

<!--Sample for a Picture Box control bind with explicit URL-->
<my:Control my:Name="SamplePictureBoxImageUrl" my:TypeName="UocPictureBox">
     <my:Properties>
          <my:Property my:Name="MaxHeight" my:Value="100" />
          <my:Property my:Name="MaxWidth" my:Value="100" />
          <my:Property my:Name="ImageUrl" my:Value="http://www.microsoft.com/dummypicture.jpg" />
     </my:Properties>
</my:Control>
<!--End of Sample for a Picture Box control-->

UocRadioButtonList

Název: UocRadioButtonList

Popis: Jedná se o jednoduchý seznam přepínačů. Možnosti se vzájemně vylučují v tomto seznamu. Tento ovládací prvek se doporučuje, když mají uživatelé pět nebo méně možností, ze kterých si můžou vybírat. V opačném případě se doporučuje UOCListView.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • ValuePath: Cesta k hodnotě je nastavena na hodnotu. Vytvoří vazbu s polem Value z prvku Option, jak je popsáno v této části.

  • CaptionPath: Cesta k hodnotě je nastavená na Titulek. Vytvoří vazbu s polem Titulek z prvku Option, jak je popsáno v této části.

  • HintPath: Cesta k hodnotě je nastavena na Hint. Vytvoří vazbu s polem Hint z prvku Option, jak je popsáno v této části.

  • SelectedValue: Hodnota, která je aktuálně vybrána. Toto je povinná vlastnost typu string. Tato vlastnost vytvoří vazbu s řetězcovými daty ze zdroje dat.

události:

  • SelectedIndexChanged: Událost nastane při změně vybraného přepínače.

  • CheckedChanged: Když přepínač změní svůj stav, tato událost se vygeneruje.

Možnosti:

Jako možnosti tohoto ovládacího prvku mohou být pouze dva Možnosti prvky. Struktura elementu Options naleznete v tématu Options element.

  • Hodnota: Pole Hodnota v jednom prvku Option musí být nastaveno na hodnotu True nebo False.

  • titulek: Může se jednat o libovolnou řetězcovou hodnotu.

  • nápovědy: Může to být libovolná řetězcová hodnota.

Příklad :

ovládací prvek UocRadioButtonList

Poznámka:

Aby tato ukázka fungovala, musíte vytvořit nový logický atribut ABooleanAttribute a vytvořit vazbu s vaším vlastním typem prostředku.

Následující segment kódu vytvoří seznam přepínačů:

<!--Sample for option button list control-->
<my:Control my:Name="SampleRadioButtonList" my:TypeName="UocRadioButtonList" my:Caption="{Binding Source=schema, Path=ABooleanAttribute.DisplayName}" my:Description="{Binding Source=schema, Path=ABooleanAttribute.Description}" my:RightsLevel="{Binding Source=rights, Path=ABooleanAttribute}">
     <my:Options>
          <my:Option my:Value="False" my:Caption="Set Value To False" my:Hint="By selecting this option, you are setting the value of the attribute to false." />
          <my:Option my:Value="True" my:Caption="Set Value To True" my:Hint="By selecting this option, you are setting the value of the attribute to true." />
     </my:Options>
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ABooleanAttribute.Required}" />
          <my:Property my:Name="ValuePath" my:Value="Value" />
          <my:Property my:Name="CaptionPath" my:Value="Caption" />
          <my:Property my:Name="HintPath" my:Value="Hint" />
          <my:Property my:Name="SelectedValue" my:Value="{Binding Source=object, Path=ABooleanAttribute, Mode=TwoWay}" />
     </my:Properties>
</my:Control>
<!--End of Sample for option button list control-->

UocSimpleRadioButton

název : UocSimpleRadioButton

Popis: Jedná se o jednoduchý ovládací prvek s přepínačem. Použití tohoto ovládacího prvku je podobné jednoduchému zaškrtávacímu políčku. K dispozici jsou dvě přepínače, která se zobrazují vedle popisků textu. Doporučuje se vytvořit vazbu ovládacího prvku na data typu Boolean.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • TrueText: Jedná se o volitelnou vlastnost typu string. Toto je text, který se zobrazí, když je vybrané tlačítko možnosti.

  • FalseText: Jedná se o volitelnou vlastnost typu string. Toto je text, který se zobrazí, když není vybrané tlačítko možnosti.

  • SelectedItem: Jedná se o volitelnou logickou vlastnost typu. Tato hodnota označuje, že je vybrané tlačítko možnosti. To se může svázat s daty typu Boolean ze zdroje dat. Výchozí hodnota je nastavená na false.

události:

  • CheckedChanged: Když tlačítko možnosti změní stav vybrané na nevybrané nebo opačné, tento signál se vygeneruje.

Příklad :

ovládací prvek UocSimpleRadioButton

Poznámka:

Aby ukázka fungovala, musíte vytvořit nový logický atribut ABooleanAttribute a svázat ho s vaším vlastním typem prostředku. Data RCDC se použijí na stejný vlastní typ prostředku.

Následující segment kódu vygeneruje tlačítko možnosti:

<!--Sample for simple option button control-->
<my:Control my:Name="SampleSimpleRadioButton" my:TypeName="UocSimpleRadioButton" my:Caption="{Binding Source=schema, Path=ABooleanAttribute.DisplayName}" my:Description="{Binding Source=schema, Path=ABooleanAttribute.Description}" my:RightsLevel="{Binding Source=rights, Path=ABooleanAttribute}">
     <my:Properties>
          <my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ABooleanAttribute.Required}" />
          <my:Property my:Name="FalseText" my:Value="False"/>
          <my:Property my:Name="TrueText" my:Value="True"/>
          <my:Property my:Name="SelectedItem" my:Value="{Binding Source=object, Path=ABooleanAttribute, Mode=TwoWay}" />
     </my:Properties>
</my:Control>
<!--End of Sample for simple option button control-->

UocTextBox

Název: UocTextBox

Popis: Toto je jednoduché textové pole, které podporuje zadávání typu řetězce. Tento ovládací prvek doporučujeme použít k vytvoření vazby s daty typu string.

Vlastnosti:

  • Všechny společné vlastnosti: Informace o těchto vlastnostech naleznete v tématu Společné vlastnosti.

  • MaxLength: Jedná se o volitelný atribut typu integer. Tato vlastnost určuje maximální délku pro vstup řetězce. Výchozí hodnota této vlastnosti je 128 znaků.

  • Text: Jedná se o volitelnou vlastnost typu řetězec. Toto je text, který se zobrazí v textovém poli. Můžete definovat explicitní řetězec, který se zobrazí v textovém poli během počátečního načtení ovládacího prvku, nebo jej svázat s atributem schématu typu řetězce.

  • řádky: Jedná se o volitelnou celočíselnou vlastnost. Tato vlastnost definuje výšku textového pole v jednotkách znaků. Výchozí hodnota je jeden znak.

  • Sloupce: Jedná se o volitelnou celočíselnou vlastnost. Tato vlastnost definuje šířku textového pole v jednotkách znaků. Výchozí hodnota je 20 znaků.

  • Wrap: Jedná se o volitelnou vlastnost typu Boolean. Nastavením hodnoty této vlastnosti na hodnotu true uživatel povolí funkci Zalamování textu v textovém poli. Výchozí hodnota této vlastnosti je nastavena na hodnotu true.

  • UniquenessValidationXPath: Jedná se o volitelnou vlastnost typu string. Přebírá platný výraz filtru FIM XPath a zajišťuje, aby vstup hodnoty uživatele byl jedinečný v rámci prostředků, které jsou v oboru filtru. Pokud chcete například zajistit, aby byl zobrazovaný název uživatele jedinečný ve všech skupinách zabezpečení s podporou pošty ve službě FIM, použili byste XPath /Group[DisplayName=’%VALUE%’ and Type=’MailEnabledSecurity’. Ověřovací akce se provede, když uživatel opustí stránku. Tato vlastnost je podporována pouze ve službě RCDC pro vytvoření prostředku.

  • UniquenessErrorMessage: Jedná se o volitelnou vlastnost typu string. Tento řetězec slouží k zobrazení chybové zprávy v případě selhání ověření UniquenessValidationXPath a může být explicitní text nebo proměnná prostředku řetězce. Pokud tato vlastnost není zadána, výchozí chybová zpráva pro neúspěšné ověření je "%VALUE% již existuje. Zkuste prosím jiný."

události:

  • TextChanged: Tato událost se vygeneruje při změně textu uvnitř textového pole.

Příklad :

Kompletní ukázku tohoto ovládacího prvku najdete v části Ukázky jednoduchých ovládacích prvků.


Příloha A: Výchozí schéma XSD

Tato část ukazuje kompletní schéma XSD pro všechny výchozí rcDcs, které jsou k dispozici v Microsoft Identity Manageru 2016 SP1.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema targetNamespace="http://schemas.microsoft.com/2006/11/ResourceManagement" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:my="http://schemas.microsoft.com/2006/11/ResourceManagement" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:attribute name="TypeName" type="my:requiredString"/>
    <xsd:attribute name="Name" type="my:requiredAlphanumericString"/>
    <xsd:attribute name="Parameters" type="xsd:string"/>
    <xsd:attribute name="DisplayAsWizard" type="xsd:boolean"/>
    <xsd:attribute name="Caption" type="xsd:string"/>
    <xsd:attribute name="AutoValidate" type="xsd:boolean"/>
    <xsd:attribute name="Enabled" type="xsd:string"/>
    <xsd:attribute name="Visible" type="xsd:string"/>
    <xsd:attribute name="IsSummary" type="xsd:boolean"/>
    <xsd:attribute name="IsHeader" type="xsd:boolean"/>
    <xsd:attribute name="HelpText" type="xsd:string"/>
    <xsd:attribute name="Link" type="xsd:string"/>
    <xsd:attribute name="Description" type="xsd:string"/>
    <xsd:attribute name="ExpandArea" type="xsd:boolean"/>
    <xsd:attribute name="Hint" type="xsd:string"/>
    <xsd:attribute name="AutoPostback" type="xsd:string"/>
    <xsd:attribute name="RightsLevel" type="my:requiredString"/>
    <xsd:attribute name="Value" type="xsd:string"/>
    <xsd:attribute name="Handler" type="my:requiredString"/>
    <xsd:attribute name="ImageUrl" type="xsd:string"/>
    <xsd:attribute name="RedirectUrl" type="xsd:string"/>
    <xsd:attribute name="ClickBehavior" type="xsd:string"/>
    <xsd:attribute name="EnableMode" type="xsd:string"/>
    <xsd:attribute name="ValueType" type="xsd:string"/>
    <xsd:attribute name="Condition" type="xsd:string"/>
    <xsd:element name="ObjectControlConfiguration">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:ObjectDataSource" minOccurs="0" maxOccurs="32"/>
                <xsd:element ref="my:XmlDataSource" minOccurs="0" maxOccurs="32"/>
                <xsd:element ref="my:Panel"/>
                <xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
            </xsd:sequence>
            <xsd:attribute ref="my:TypeName"/>
            <xsd:anyAttribute processContents="lax" namespace="http://www.w3.org/XML/1998/namespace"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="ObjectDataSource">
        <xsd:complexType>
            <xsd:sequence/>
            <xsd:attribute ref="my:TypeName"/>
            <xsd:attribute ref="my:Name"/>
            <xsd:attribute ref="my:Parameters"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="XmlDataSource">
        <xsd:complexType  mixed="true">
      <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
      </xsd:sequence>
      <xsd:attribute ref="my:Name"/>
      <xsd:attribute ref="my:Parameters"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Panel">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Grouping" minOccurs="1" maxOccurs="16"/>
            </xsd:sequence>
            <xsd:attribute ref="my:Name"/>
            <xsd:attribute ref="my:DisplayAsWizard"/>
            <xsd:attribute ref="my:Caption"/>
            <xsd:attribute ref="my:AutoValidate"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Grouping">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Help" minOccurs="0"  maxOccurs="1"/>
                <xsd:element ref="my:Control" minOccurs="1" maxOccurs="256"/>
                <xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
            </xsd:sequence>
            <xsd:attribute ref="my:Name"/>
            <xsd:attribute ref="my:Caption"/>
            <xsd:attribute ref="my:Description"/>
            <xsd:attribute ref="my:Enabled"/>
            <xsd:attribute ref="my:Visible"/>
            <xsd:attribute ref="my:IsHeader"/>
            <xsd:attribute ref="my:IsSummary"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Help">
        <xsd:complexType>
            <xsd:sequence/>
            <xsd:attribute ref="my:HelpText"/>
            <xsd:attribute ref="my:Link"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Control">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Help" minOccurs="0"  maxOccurs="1"/>
                <xsd:element ref="my:CustomProperties" minOccurs="0"  maxOccurs="1"/>
                <xsd:element ref="my:Options" minOccurs="0"  maxOccurs="1"/>
                <xsd:element ref="my:Buttons" minOccurs="0"  maxOccurs="1"/>
                <xsd:element ref="my:Properties" minOccurs="0"  maxOccurs="1"/>
                <xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
            </xsd:sequence>
            <xsd:attribute ref="my:Name"/>
            <xsd:attribute ref="my:TypeName"/>
            <xsd:attribute ref="my:Caption"/>
            <xsd:attribute ref="my:Enabled"/>
            <xsd:attribute ref="my:Visible"/>
            <xsd:attribute ref="my:Description"/>
            <xsd:attribute ref="my:ExpandArea"/>
            <xsd:attribute ref="my:Hint"/>
            <xsd:attribute ref="my:AutoPostback"/>
            <xsd:attribute ref="my:RightsLevel"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="CustomProperties">
        <xsd:complexType mixed="true">
            <xsd:sequence>
                <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##targetNamespace" processContents="lax"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Options">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Option" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:attribute ref="my:ValueType"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Option">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute ref="my:Value"/>
                    <xsd:attribute ref="my:Caption"/>
                    <xsd:attribute ref="my:Hint"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Buttons">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Button" minOccurs="1" maxOccurs="8"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Button">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute ref="my:Name"/>
                    <xsd:attribute ref="my:Caption"/>
                    <xsd:attribute ref="my:Hint"/>
                    <xsd:attribute ref="my:ImageUrl"/>
                    <xsd:attribute ref="my:ClickBehavior"/>
                    <xsd:attribute ref="my:RedirectUrl"/>
                    <xsd:attribute ref="my:Enabled"/>
                    <xsd:attribute ref="my:Visible"/>
                    <xsd:attribute ref="my:EnableMode"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Properties">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Property" minOccurs="1" maxOccurs="32"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Property">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute ref="my:Name"/>
                    <xsd:attribute ref="my:Value"/>
                    <xsd:attribute ref="my:Condition"/>                 
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Events">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="my:Event" minOccurs="1" maxOccurs="16"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Event">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute ref="my:Name"/>
                    <xsd:attribute ref="my:Handler"/>
          <xsd:attribute ref="my:Parameters"/>
        </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:simpleType name="requiredString">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
        </xsd:restriction>
    </xsd:simpleType>
  <xsd:simpleType name="requiredAlphanumericString">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[A-Za-z0-9_]{1,128}"/>
    </xsd:restriction>
  </xsd:simpleType>
    <xsd:simpleType name="requiredAnyURI">
        <xsd:restriction base="xsd:anyURI">
            <xsd:minLength value="1"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="requiredBase64Binary">
        <xsd:restriction base="xsd:base64Binary">
            <xsd:minLength value="1"/>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:schema>

Příloha B: Výchozí souhrn XSL

Tato část ukazuje kompletní souhrn XSL, který je součástí Microsoft Identity Manageru 2016 SP1.

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
  <xsl:template name="output-attribute-value">
    <xsl:param name="attribute"/>
    <xsl:param name="type"/>
    <xsl:choose>
      <xsl:when test="$type='Binary'">
        <xsl:value-of select="$attribute" disable-output-escaping="yes"/>
      </xsl:when>
      <xsl:when test="$type='Text'">
        <xsl:text xml:space="preserve" disable-output-escaping="yes">(text data)</xsl:text>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="translate($attribute,' ','&#160;')" disable-output-escaping="yes"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

  <xsl:template name="output-modified-value">
    <xsl:param name="name"/>
    <xsl:param name="attribute1"/>
    <xsl:param name="text1"/>
    <xsl:param name="attribute2"/>
    <xsl:param name="text2"/>
    <xsl:param name="type"/>
    <tr class="listViewRow" style="height:22px;">
      <xsl:if test="position() mod 2 != 0">
        <td class="commonSummaryListViewCellBR ms-vb">
          <xsl:value-of select="$name" disable-output-escaping="yes"/>
        </td>
        <xsl:choose>
          <xsl:when test="$attribute1 and $attribute1!=''">
            <td class="commonSummaryListViewCellBR ms-vb">
              <xsl:call-template name="output-attribute-value">
                <xsl:with-param name="attribute" select="$attribute1"/>
                <xsl:with-param name="type" select="$type"/>
              </xsl:call-template>
            </td>
          </xsl:when>
          <xsl:otherwise>
            <td class="commonSummaryListViewCellBR ms-vb">
              <xsl:copy-of select="$text1"/>
            </td>
          </xsl:otherwise>
        </xsl:choose>
        <xsl:choose>
          <xsl:when test="$attribute2 and $attribute2!=''">
            <td class="commonSummaryListViewCellBR ms-vb">
              <xsl:call-template name="output-attribute-value">
                <xsl:with-param name="attribute" select="$attribute2"/>
                <xsl:with-param name="type" select="$type"/>
              </xsl:call-template>
            </td>
          </xsl:when>
          <xsl:otherwise>
            <td class="commonSummaryListViewCellBR ms-vb">
              <xsl:copy-of select="$text2"/>
            </td>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:if>
      <xsl:if test="position() mod 2 != 1">
        <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
          <xsl:value-of select="$name" disable-output-escaping="yes"/>
        </td>
        <xsl:choose>
          <xsl:when test="$attribute1 and $attribute1!=''">
            <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
              <xsl:call-template name="output-attribute-value">
                <xsl:with-param name="attribute" select="$attribute1"/>
                <xsl:with-param name="type" select="$type"/>
              </xsl:call-template>
            </td>
          </xsl:when>
          <xsl:otherwise>
            <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
              <xsl:copy-of select="$text1"/>
            </td>
          </xsl:otherwise>
        </xsl:choose>
        <xsl:choose>
          <xsl:when test="$attribute2 and $attribute2!=''">
            <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
              <xsl:call-template name="output-attribute-value">
                <xsl:with-param name="attribute" select="$attribute2"/>
                <xsl:with-param name="type" select="$type"/>
              </xsl:call-template>
            </td>
          </xsl:when>
          <xsl:otherwise>
            <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
              <xsl:copy-of select="$text2"/>
            </td>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:if>
    </tr>
  </xsl:template>

  <xsl:template name="output-localized-attribute-value">
    <xsl:param name="locale"/>
    <xsl:param name="attribute"/>
    <xsl:param name="type"/>
    <tr class="listViewRow" style="height:22px;">
      <xsl:if test="position() mod 2 != 0">
        <td class="commonSummaryListViewCellBR ms-vb">
          <xsl:value-of select="$locale" disable-output-escaping="yes"/>
        </td>
        <td class="commonSummaryListViewCellBR ms-vb">
          <xsl:call-template name="output-attribute-value">
            <xsl:with-param name="attribute" select="$attribute"/>
            <xsl:with-param name="type" select="$type"/>
          </xsl:call-template>
        </td>
      </xsl:if>
      <xsl:if test="position() mod 2 != 1">
        <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
          <xsl:value-of select="$locale" disable-output-escaping="yes"/>
        </td>
        <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
          <xsl:call-template name="output-attribute-value">
            <xsl:with-param name="attribute" select="$attribute"/>
            <xsl:with-param name="type" select="$type"/>
          </xsl:call-template>
        </td>
      </xsl:if>
    </tr>
  </xsl:template>

  <xsl:template match="/">
    <xsl:choose>
      <xsl:when test="ModifiedAttributes[@ActionType='Create']">
        <!-- expected XML
        <ModifiedAttributes ActionType="Create">
          <Attribute Name="[attribute's system name]" DisplayName="[attribute's display name]" DataType="[all kinds of ILM data type]" InitializedValue="[the value]"/>
          other <Attribute> elements
        </ModifiedAttributes>
        -->
        <table cellspacing="0" cellpadding="3" class="commonSummaryListViewGridBorder">
          <tr align="left" class="listViewHeader" style="height:22px;">
            <th class="commonSummaryListViewHeaderCellBR">Attribute</th>
            <th class="commonSummaryListViewHeaderCellBR">Value</th>
          </tr>
          <xsl:for-each select="ModifiedAttributes/Attribute">
            <xsl:sort select="@DisplayName" order="ascending"/>
            <tr class="listViewRow" style="height:22px;">
              <xsl:if test="position() mod 2 != 0">
                <td class="commonSummaryListViewCellBR ms-vb">
                  <xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
                </td>
                <xsl:if test="count(LocalizedValue)!=0">
                  <td class="commonSummaryListViewCellBR ms-vb">
                    <table cellspacing="0" style="width:100%">
                      <tr class="listViewHeader">
                        <th align="left" class="commonSummaryListViewHeaderCellBR">Language</th>
                        <th align="left" class="commonSummaryListViewHeaderCellBR">Status</th>
                      </tr>
                      <xsl:if test="@InitializedValue and @InitializedValue != ''">
                        <xsl:call-template name="output-localized-attribute-value">
                          <xsl:with-param name="locale" select="@Locale"/>
                          <xsl:with-param name="attribute" select="@InitializedValue"/>
                          <xsl:with-param name="type" select="@DataType"/>
                        </xsl:call-template>
                      </xsl:if>
                      <xsl:for-each select="LocalizedValue">
                        <xsl:call-template name="output-localized-attribute-value">
                          <xsl:with-param name="locale" select="@Locale"/>
                          <xsl:with-param name="attribute" select="@InitializedValue"/>
                          <xsl:with-param name="type" select="../@DataType"/>
                        </xsl:call-template>
                      </xsl:for-each>
                    </table>
                  </td>
                </xsl:if>
                <xsl:if test="count(LocalizedValue)=0">
                  <td class="commonSummaryListViewCellBR ms-vb">
                    <xsl:call-template name="output-attribute-value">
                      <xsl:with-param name="attribute" select="@InitializedValue"/>
                      <xsl:with-param name="type" select="@DataType"/>
                    </xsl:call-template>
                  </td>
                </xsl:if>
              </xsl:if>
              <xsl:if test="position() mod 2 != 1">
                <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
                  <xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
                </td>
                <xsl:if test="count(LocalizedValue)!=0">
                  <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
                    <table cellspacing="0" style="width:100%">
                      <tr class="listViewHeader">
                        <th align="left" class="commonSummaryListViewHeaderCellBR">Language</th>
                        <th align="left" class="commonSummaryListViewHeaderCellBR">Status</th>
                      </tr>
                      <xsl:if test="@InitializedValue and @InitializedValue != ''">
                        <xsl:call-template name="output-localized-attribute-value">
                          <xsl:with-param name="locale" select="@Locale"/>
                          <xsl:with-param name="attribute" select="@InitializedValue"/>
                          <xsl:with-param name="type" select="@DataType"/>
                        </xsl:call-template>
                      </xsl:if>
                      <xsl:for-each select="LocalizedValue">
                        <xsl:call-template name="output-localized-attribute-value">
                          <xsl:with-param name="locale" select="@Locale"/>
                          <xsl:with-param name="attribute" select="@InitializedValue"/>
                          <xsl:with-param name="type" select="../@DataType"/>
                        </xsl:call-template>
                      </xsl:for-each>
                    </table>
                  </td>
                </xsl:if>
                <xsl:if test="count(LocalizedValue)=0">
                  <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
                    <xsl:call-template name="output-attribute-value">
                      <xsl:with-param name="attribute" select="@InitializedValue"/>
                      <xsl:with-param name="type" select="@DataType"/>
                    </xsl:call-template>
                  </td>
                </xsl:if>
              </xsl:if>
            </tr>
          </xsl:for-each>
        </table>
      </xsl:when>
      <xsl:when test="ModifiedAttributes[@ActionType='Modify']">
        <!-- expected XML
        <ModifiedAttributes ActionType="Modify">
          <SingleAttribute Name="[attribute's system name]" DisplayName="[attribute's display name]" DataType="[all kinds of ILM data type]" InitializedValue="[the old value]" SetValue="[the new value]"/>
          other <SingleAttribute> elements
          <MultipleAttribute Name="[attribute's system name]" DisplayName="[attribute's display name]" DataType="[all kinds of ILM data type]" InsertedItem="[inserted items separated by ';']" RemovedItem="[removed items separated by ';']"/>
          other <MultipleAttribute> elements
        </ModifiedAttributes>
        -->
        <table class="commonSummaryListViewGridBorder" cellspacing="0" cellpadding="3">
          <xsl:if test="ModifiedAttributes[count(SingleAttribute)!=0]">
            <tr align="left" class="listViewHeader">
              <th class="commonSummaryListViewHeaderCellBR">Single-Value Attributes</th>
              <th class="commonSummaryListViewHeaderCellBR">Old Value</th>
              <th class="commonSummaryListViewHeaderCellBR">New Value</th>
            </tr>
            <xsl:for-each select="ModifiedAttributes/SingleAttribute">
              <xsl:sort select="@DisplayName" order="ascending"/>
              <xsl:if test="count(LocalizedValue)!=0">
                <tr class="listViewRow">
                  <xsl:if test="position() mod 2 != 0">
                    <td class="commonSummaryListViewCellBR ms-vb">
                      <xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
                    </td>
                    <td colSpan="2">
                      <table cellspacing="0" cellpadding="0" style="width:100%">
                        <tr align="left" class="listViewHeader">
                          <th class="commonSummaryListViewHeaderCellBR">Language</th>
                          <th class="commonSummaryListViewHeaderCellBR">Old Value</th>
                          <th class="commonSummaryListViewHeaderCellBR">New Value</th>
                        </tr>
                        <xsl:if test="(@InitializedValue and @InitializedValue !='') or (@SetValue and @SetValue != '')">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@InitializedValue"/>
                            <xsl:with-param name="text1">(no initial value)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@SetValue"/>
                            <xsl:with-param name="text2">(value removed)</xsl:with-param>
                            <xsl:with-param name="type" select="@DataType"/>
                          </xsl:call-template>
                        </xsl:if>
                        <xsl:for-each select="LocalizedValue">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@InitializedValue"/>
                            <xsl:with-param name="text1">(no initial value)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@SetValue"/>
                            <xsl:with-param name="text2">(value removed)</xsl:with-param>
                            <xsl:with-param name="type" select="../@DataType"/>
                          </xsl:call-template>
                        </xsl:for-each>
                      </table>
                    </td>
                  </xsl:if>
                  <xsl:if test="position() mod 2 != 1">
                    <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
                      <xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
                    </td>
                    <td colSpan="2">
                      <table cellspacing="0" style="width:100%">
                        <tr align="left" class="listViewHeader">
                          <th class="commonSummaryListViewHeaderCellBR">Language</th>
                          <th class="commonSummaryListViewHeaderCellBR">Old Value</th>
                          <th class="commonSummaryListViewHeaderCellBR">New Value</th>
                        </tr>
                        <xsl:if test="(@InitializedValue and @InitializedValue !='') or (@SetValue and @SetValue != '')">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@InitializedValue"/>
                            <xsl:with-param name="text1">(no initial value)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@SetValue"/>
                            <xsl:with-param name="text2">(value removed)</xsl:with-param>
                            <xsl:with-param name="type" select="@DataType"/>
                          </xsl:call-template>
                        </xsl:if>
                        <xsl:for-each select="LocalizedValue">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@InitializedValue"/>
                            <xsl:with-param name="text1">(no initial value)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@SetValue"/>
                            <xsl:with-param name="text2">(value removed)</xsl:with-param>
                            <xsl:with-param name="type" select="../@DataType"/>
                          </xsl:call-template>
                        </xsl:for-each>
                      </table>
                    </td>
                  </xsl:if>
                </tr>
              </xsl:if>
              <xsl:if test="count(LocalizedValue)=0">
                <xsl:call-template name="output-modified-value">
                  <xsl:with-param name="name" select="@DisplayName"/>
                  <xsl:with-param name="attribute1" select="@InitializedValue"/>
                  <xsl:with-param name="text1">(no initial value)</xsl:with-param>
                  <xsl:with-param name="attribute2" select="@SetValue"/>
                  <xsl:with-param name="text2">(value removed)</xsl:with-param>
                  <xsl:with-param name="type" select="@DataType"/>
                </xsl:call-template>
              </xsl:if>
            </xsl:for-each>
          </xsl:if>
          <xsl:if test="ModifiedAttributes[count(MultipleAttribute)!=0]">
            <tr align="left" class="listViewHeader">
              <th class="commonSummaryListViewHeaderCellBR">Multiple-Value Attributes</th>
              <th class="commonSummaryListViewHeaderCellBR">Removed Items</th>
              <th class="commonSummaryListViewHeaderCellBR">Inserted Items</th>
            </tr>
            <xsl:for-each select="ModifiedAttributes/MultipleAttribute">
              <xsl:sort select="@DisplayName" order="ascending"/>
              <xsl:if test="count(LocalizedValue)!=0">
                <tr class="uocSummaryTitleTR">
                  <xsl:if test="position() mod 2 != 0">
                    <td class="commonSummaryListViewCellBR ms-vb">
                      <xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
                    </td>
                    <td>
                      <table cellspacing="0" style="width:100%">
                        <tr align="left" class="listViewHeader">
                          <th class="commonSummaryListViewHeaderCellBR">Language</th>
                          <th class="commonSummaryListViewHeaderCellBR">Removed Items</th>
                          <th class="commonSummaryListViewHeaderCellBR">Inserted Items</th>
                        </tr>
                        <xsl:if test="(@RemovedItem and @RemovedItem!='') or (@InsertedItem and @InsertedItem!='')">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@RemovedItem"/>
                            <xsl:with-param name="text1">(no removed item)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@InsertedItem"/>
                            <xsl:with-param name="text2">(no inserted item)</xsl:with-param>
                            <xsl:with-param name="type" select="@DataType"/>
                          </xsl:call-template>
                        </xsl:if>
                        <xsl:for-each select="LocalizedValue">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@RemovedItem"/>
                            <xsl:with-param name="text1">(no removed item)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@InsertedItem"/>
                            <xsl:with-param name="text2">(no inserted item)</xsl:with-param>
                            <xsl:with-param name="type" select="@DataType"/>
                          </xsl:call-template>
                        </xsl:for-each>
                      </table>
                    </td>
                  </xsl:if>
                  <xsl:if test="position() mod 2 != 1">
                    <td class="ms-alternating commonSummaryListViewCellBR ms-vb">
                      <xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
                    </td>
                    <td>
                      <table cellspacing="0" style="width:100%">
                        <tr align="left" class="listViewHeader">
                          <th class="commonSummaryListViewHeaderCellBR">Language</th>
                          <th class="commonSummaryListViewHeaderCellBR">Removed Items</th>
                          <th class="commonSummaryListViewHeaderCellBR">Inserted Items</th>
                        </tr>
                        <xsl:if test="(@RemovedItem and @RemovedItem!='') or (@InsertedItem and @InsertedItem!='')">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@RemovedItem"/>
                            <xsl:with-param name="text1">(no removed item)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@InsertedItem"/>
                            <xsl:with-param name="text2">(no inserted item)</xsl:with-param>
                            <xsl:with-param name="type" select="@DataType"/>
                          </xsl:call-template>
                        </xsl:if>
                        <xsl:for-each select="LocalizedValue">
                          <xsl:call-template name="output-modified-value">
                            <xsl:with-param name="name" select="@Locale"/>
                            <xsl:with-param name="attribute1" select="@RemovedItem"/>
                            <xsl:with-param name="text1">(no removed item)</xsl:with-param>
                            <xsl:with-param name="attribute2" select="@InsertedItem"/>
                            <xsl:with-param name="text2">(no inserted item)</xsl:with-param>
                            <xsl:with-param name="type" select="@DataType"/>
                          </xsl:call-template>
                        </xsl:for-each>
                      </table>
                    </td>
                  </xsl:if>
                </tr>
              </xsl:if>
              <xsl:if test="count(LocalizedValue)=0">
                <xsl:call-template name="output-modified-value">
                  <xsl:with-param name="name" select="@DisplayName"/>
                  <xsl:with-param name="attribute1" select="@RemovedItem"/>
                  <xsl:with-param name="text1">(no removed item)</xsl:with-param>
                  <xsl:with-param name="attribute2" select="@InsertedItem"/>
                  <xsl:with-param name="text2">(no inserted item)</xsl:with-param>
                  <xsl:with-param name="type" select="@DataType"/>
                </xsl:call-template>
              </xsl:if>
            </xsl:for-each>
          </xsl:if>
        </table>
      </xsl:when>
    </xsl:choose>
  </xsl:template>
</xsl:stylesheet>