Clip Manager 4:Clip Flavors

From myFMbutler wiki
Jump to: navigation, search

Main Page > Clip Manager 4 > Clip Flavors


Contents

Clipboard Flavors versus DDR

There are a lot of similarities between the xml used in the clipboard and the xml used in the DDR, but they are not the same. Some attributes like alwaysEvaluate in a calculation for example is stored in a completely different element.

Although the XML is not the same, the "Database Design Report XML Output Grammar" reference can be useful when you start manipulating your clips.

More: http://www.filemaker.com/support/product/documentation.html

XMFN.png
Custom Functions (XMFN)

A Custom Functions is a function that is not one of the default FileMaker Pro functions. In FileMaker Pro Advanced, you can create custom functions that can be reused anywhere in the database. Since FileMaker Pro 11 it is possible to copy and paste Custom Functions.

Note: It has stricken us that quite a few FileMaker developers do not realize that FileMaker Advanced 11 has gotten support for copying and pasting custom functions. It is indeed not one of the new features put in the "what's new" pages of FileMaker Pro 11, because it's a FileMaker Advanced 11 (or higher) - only feature. But it's one of the 3 new features in FIleMaker Advanced 11. We are very excited about this evolution, this allows us to drop the GUI manipulation routines we needed in Clip Manager 3 to get the same thing done. In Clip Manager 4, we will be able to continue using the Custom Function clips we - sometimes painfully - obtained in Clip Manager 3. Custom functions can now be copied from pasted to FileMaker Advanced, just like the rest of the clip family. Just remember this: don't expect windows fly around anymore when you press the Get or the Set button. Although there's no Copy or Paste button in the "Custom Functions" window of FileMaker Advanced 11, you can copy and paste by using the standard menu commands or shortcuts.


More: Manipulating Custom Functions

XML

<fmxmlsnippet type="FMObjectList">
 <CustomFunction id="1" functionArity="2" visible="True" parameters="param1;param2" name="functionName">
    <Calculation>FileMaker Formula ...</Calculation>
  </CustomFunction>
  <CustomFunction id="2" functionArity="0" visible="True" parameters="" name="functionName2">
    <Calculation>FileMaker Formula ...</Calculation>
  </CustomFunction>
</fmxmlsnippet>

  • id: Unique ID of the function
  • functionArity: Number of parameters
  • parameters: Parameters separated by semi-colon
  • name: name of the custom function

XMFD.png
Fields (XMFD)

If you copy a selection of fields in "File > Manage > Database..." on the tab "Fields", FileMaker Pro will set this as an XMFD flavor in the clipboard.

XMFD contains the field definitions.

XML

<?xml version="1.0" encoding="UTF-8"?>
<fmxmlsnippet type="FMObjectList">
  <Field id="2" dataType="Text" fieldType="Normal" name="field2">
    <Comment/>
    <AutoEnter allowEditing="True" constant="False" furigana="False" lookup="False" calculation="False">
      <ConstantData/>
    </AutoEnter>
    <Validation message="False" maxLength="False" valuelist="False" calculation="False" 
                       alwaysValidateCalculation="False" type="OnlyDuringDataEntry">
      <NotEmpty value="False"/>
      <Unique value="False"/>
      <Existing value="False"/>
      <StrictValidation value="False"/>
    </Validation>
    <Storage indexLanguage="English" global="True" maxRepetition="1"/>
  </Field>
</fmxmlsnippet>

Field

  <Field id="2" dataType="Text" fieldType="Normal" name="field2" />

  • id: Unique ID of the field within the table
  • dataType: Data type of the field: Text, Number, Date, Time, Timestamp or Binary (container)
  • fieldType: Field type: Normal, Calculated, Summary or Invalid
  • name: name of the field
  • shadowType: When the field is part of an ESS table: Shadow (shadow field) or Supplemental (field created in FileMaker on a shadow table)

Comment

Contains the comment information of the field definition

Calculation

  <Calculation table="myTable">myFormula</Calculation>

  • table: Indicates the context table of the calculation.
  • myFormula: Contains the calculation as text

AutoEnter

 <AutoEnter allowEditing="False" value="ConstantData" constant="True" furigana="False" lookup="True" calculation="False">
     <ConstantData>2</ConstantData>
     <Calculation table="test">123</Calculation>
     <Lookup>
       <Table id="1065089" name="test"/>
       <Field table="test 2" id="4" name="field4"/>
       <NoMatchCopyOption value="CopyConstant"/>
       <CopyConstantValue/>
       <CopyEmptyContent value="False"/>
     </Lookup>
  </AutoEnter>

  • allowEditing: Attribute indicates if user is prohibited from modifying field value during data entry: True or False
  • value: Auto-Enter type: CreationTime, CreationDate, CreationTimeStamp, CreationName, CreationAccountName, ModificationDate, ModificationTime, ModificationTimeStamp, ModificationName, ModificationAccountName, PreviousRecord or ConstantData
  • constant: Indicates if the constant data information is applicable: True or False
  • lookup: Indicates if the auto-enter lookup information is applicable: True or False
  • calculation: Indicates if the auto-enter calculation information is applicable: True or False
  • furigana: Indicates if the furigana information is applicable: True or False


<ConstantData>

<ConstantData>2</ConstantData>

Auto-Enter data

<Serial>

 <Serial increment="1" nextValue="1" generate="OnCommit"/>

Auto-enter serial information

  • increment: Increment value: Positive Integer value between 1 and 32767
  • nextValue: Next Value
  • Generate: OnCommit or OnCreation

<Calculation>

  <Calculation table="myTable">myFormula</Calculation>

Auto-Enter Calculation

  • table: Indicates the context table of the calculation.
  • myFormula: Contains the calculation as text

<Lookup>

<Lookup>
      <Table id="1065089" name="test"/>
      <Field table="test 2" id="4" name="field4"/>
      <NoMatchCopyOption value="CopyConstant"/>
      <CopyConstantValue/>
      <CopyEmptyContent value="False"/>
</Lookup>

  • <Table>: Represents the context table occurrence of the lookup.
    • id: Unique ID of the table occurrence
    • name: table occurrence name
  • <Field>: source field
    • table: table occurrence name of the source field
    • id: Unique ID of the source field
    • name: Name of the source field
  • <NoMatchCopyOption>: Lookup option
    • value: DoNotCopy, CopyNextLower, CopyNextHigher or CopyConstant
  • <CopyConstantValue>
  • <CopyEmptyContent>
    • value: True or False

Validation

 <Validation message="True" maxLength="True" valuelist="True" 
      calculation="True" alwaysValidateCalculation="True" type="OnlyDuringDataEntry">
     <StrictDataType value="Numeric"/>
     <NotEmpty value="True"/>
     <Unique value="True"/>
     <Existing value="False"/>
     <ValueList id="1" name="myValueList"/>
     <Calculation table="test">myFormula</Calculation>
     <MaxDataLength value="1"/>
     <StrictValidation value="False"/>
     <ErrorMessage>my message</ErrorMessage>
   </Validation>

  • message: Indicates if there is a custom message: True or False
  • maxLength: Indicates if the validation maximum of character option is applicable: True or False
  • valuelist: Indicates if the validation value list is applicable: True or False
  • calculation: Indicates if the validation calculation is applicable: True or False
  • alwaysValidateCalculation: Always validate calculation: True or False
  • type: Validation type: OnlyDuringDataEntry or Always

<StrictDataType>

<StrictDataType value="Numeric"/>

  • value: Numeric, FourDigitYear or TimeOfDay

<Unique>

<Unique value="True"/>

  • value: True or False

<NotEmpty>

<NotEmpty value="True"/>

  • value: True or False

<Existing>

<Existing value="True"/>

  • value: True or False

<ValueList>

<ValueList id="1" name="myValueList"/>

  • id: Unique ID of the value list
  • name: name of the value list

<Calculation>

  <Calculation table="myTable">myFormula</Calculation>

Validation by Calculation

  • table: Indicates the context table of the calculation.
  • myFormula: Contains the calculation as text

<MaxDataLength>

<MaxDataLength value="1"/>

  • value: Maximum number of characters.

<StrictValidation>

<StrictValidation value="True"/>

  • value: True or False

<ErrorMessage>

<ErrorMessage>my message</ErrorMessage>

Storage

 <Storage autoIndex="True" index="None" indexLanguage="English" global="False" maxRepetition="1" storeCalculationResults="True"/>

  • autoIndex: True or False
  • storeCalculationResults: Only with calculated fields: True or False
  • index: None, Minimal or All
  • indexLanguage: index language
  • global: True or False
  • maxRepetition: maximum number of repetitions

Storage (Containers)

This is only applicable for FileMaker Pro 12 or above

<Storage global="False" maxRepetition="1">
     <Remote type="Open" relativeTo="0">
       <Location>
         <Calculation table="test">myFormula</Calculation>
       </Location>
     </Remote>
   </Storage>

  • global: True or False
  • maxRepetition: maximum number of repetitions

<Remote>

Container data is stored externally.

  • type: Open or Secured storage: Open or Secure
  • relativeTo: ID of Base Directory
  • <Location>
    • <Calculation>
      • table: Indicates the context table of the calculation.
      • myFormula: Contains the calculation as text

Furigana

  <Furigana inputMode="Hiragana">
     <Field id="1" baseTable="test" name="field1"/>
   </Furigana>

<Furigana> element will exist when "Use Furigana Field" checkbox is checked in the UI.

  • inputMode: AsEntered, Hiragana, 2ByteKatakana, 2ByteRoman, 1ByteKatakana, 1ByteRoman

<Field>

  • id: Unique id of the field
  • baseTable: Name of the base table
  • name: Name of the field
  • shadowType: Specifies the shadow field type. Only available if the parent BaseTable's "shadow" attribute is "True": Shadow or Supplemental

XMTD.png
Tables (XMTB)

If you copy a selection of tables in "File > Manage > Database..." on the tab "Tables", FileMaker Pro will set this as an XMTB flavor in the clipboard. XMTB contains the table and field definitions.

XML

<?xml version="1.0" encoding="UTF-8"?>
<fmxmlsnippet type="FMObjectList">
 <BaseTable name="myTable">
   <Field id="1" dataType="Text" fieldType="Normal" name="myField">
     <Comment/>
     <AutoEnter allowEditing="True" constant="False" 
             furigana="False" lookup="False" calculation="False">
       <ConstantData/>
     </AutoEnter>
     <Validation message="False" maxLength="False" valuelist="False" 
              calculation="False" alwaysValidateCalculation="False" type="OnlyDuringDataEntry">
       <NotEmpty value="False"/>
       <Unique value="False"/>
       <Existing value="False"/>
       <StrictValidation value="False"/>
     </Validation>
     <Storage autoIndex="True" index="None" indexLanguage="English" global="False" maxRepetition="1"/>
   </Field>
  </BaseTable>
</fmxmlsnippet>

BaseTable

<BaseTable name="myTable">

  • name: name of the base table

BaseTable (Shadow)

<BaseTable name="myTable" shadow="True">
   <DataSourceRef name="myName" catalogName="catalog" schemaName="schema" tableName="table">
</BaseTable>

  • name: name of the base table
  • shadow: True or False
  • <DataSourceRef>
    • name: The name of the data source
    • catalogName: The name of the remote table's catalog in the ODBC data source.
    • schemaName: The name of the remote table's schema in the ODBC data source
    • tableName: The name of the remote table's table name in the ODBC data source.

Field

See: Fields (XMFD)

XMSS.png
Script Steps (XMSS)

A script step is a command that you include in a script. You can also assign a script step directly to a button. When you select one or more script steps in a script and copy them, FileMaker Pro will store them in the clipboard as XMSS.

Note: In FileMaker Pro 11 or below it is import that you store the XMSS and XMSC in the same language as you FileMaker client. Although every script has his own unique ID, FileMaker Pro ignores the ID attribute and uses the name attribute. If FileMaker Pro doesn't understand the name of the script step, it will result in a grayed out Unknown' script step.

This issue is been solved since FileMaker Pro 12.

XML

<?xml version="1.0" encoding="UTF-8"?>
<fmxmlsnippet type="FMObjectList">
 <Step enable="True" id="6" name="Go to Layout">
   <LayoutDestination value="OriginalLayout"/>
 </Step>
</fmxmlsnippet>

Step

<Step enable="True" id="6" name="Go to Layout">

  • enable: Script step is enabled or disabled
  • id: Unique ID of a command, every type of script step has his own id
  • name': Name of the script step

Other elements and attributes

Every kind of script step has his own typical elements and attributes. Many script steps have options/attributes which are only applicable if certain other options/attributes are enabled or set to a certain value.

Detailled information about a particular script step can be found in the white paper "FileMaker Pro 12 Advanced - Database Design Report XML Output Grammar". This document can be found on FileMakers website: http://www.filemaker.com/support/product/documentation.html

Note: The XML in the DDR is almost the same as the XML in the clipboard. The element <DisplayCalculation> is only available in the DDR, not in the XMSS Clipboard flavor.

XMSC.png
Scripts (XMSC)

When you select one or more scripts and copy them, FileMaker Pro will store them in the clipboard as XMSC.

XML

Scripts without folders:

<?xml version="1.0" encoding="UTF-8"?>
<fmxmlsnippet type="FMObjectList">
 <Script includeInMenu="True" runFullAccess="False" id="1" name="scriptName">
   <Step enable="True" id="6" name="Go to Layout">
     <LayoutDestination value="OriginalLayout"/>
   </Step>
 </Script>
</fmxmlsnippet>

Scripts within a folder:

<?xml version="1.0" encoding="UTF-8"?>
<fmxmlsnippet type="FMObjectList">
 <Group groupCollapsed="True" includeInMenu="True" id="2" name="myFolder">
   <Script includeInMenu="True" runFullAccess="False" id="1" name="scriptName">
     <Step enable="True" id="6" name="Go to Layout">
       <LayoutDestination value="OriginalLayout"/>
     </Step>
   </Script>
 </Group>
</fmxmlsnippet>

Script

<Script includeInMenu="True" runFullAccess="False" id="1" name="scriptName">

  • includeInMenu: Visible in menu: True or False
  • runFullAccess: Run script with full access: True or False
  • id: Unique ID of the script
  • name: name of the script

Group

<Group groupCollapsed="True" includeInMenu="True" id="2" name="myFolder">

  • groupCollapsed: Folder is collapsed or not: True or False
  • includeInMenu: Visible in menu: True or False
  • id: Unique ID of the folder
  • name: name of the folder

Step

See: Script Steps (XMSS)

XML2.png
Layout Elements in FileMaker Pro 12 or above (XML2)

When you select certain layout elements in layout mode an copy them into the clipboard, FileMaker Pro 12 or above will store them in the XML2 format.

FileMaker also puts a PDF representation of the layout into its clipboard, and this PDF info is saved into the Clip Manager clips as well. It is also used to display the thumbnail of the layout objects.

Note: You can only copy layout elements in FileMaker Pro, never the whole layouts. So when you select all, you will only copy the elements on the layout, never the layout parts, part backgrounds, layout script triggers, theme info or other layout properties.

XML

Example of a field:

<?xml version="1.0" encoding="UTF-8"?>
<fmxmlsnippet type="LayoutObjectList">
 <Layout enclosingRectTop="130.0000000" enclosingRectLeft="19.0000000" enclosingRectBottom="167.0000000"  enclosingRectRight="302.0000000">
   <Object type="Field" key="264" LabelKey="265" flags="1073741824" rotation="0">
     <Bounds top="130.0000000" left="19.0000000" bottom="167.0000000" right="302.0000000"/>
     <FieldObj numOfReps="1" flags="8418" inputMode="0" displayType="1" quickFind="1" pictFormat="5">
       <Name>Assets::Purchased From</Name>
       <ValueList>Purchased From</ValueList>
       <ExtendedAttributes fontHeight="21" graphicFormat="5">
         <NumFormat flags="2304" charStyle="0" negativeStyle="0" currencySymbol="$" thousandsSep="44" decimalPoint="46" negativeColor="#DD000000" decimalDigits="2" trueString="Yes" falseString="No"/>
         <DateFormat format="0" charStyle="0" monthStyle="0" dayStyle="0" separator="47">
           <DateElement>3</DateElement>
           <DateElement>6</DateElement>
           <DateElement>1</DateElement>
           <DateElement>8</DateElement>
           <DateElementSep index="0"/>
           <DateElementSep index="1">, </DateElementSep>
           <DateElementSep index="2"> </DateElementSep>
           <DateElementSep index="3">, </DateElementSep>
           <DateElementSep index="4"/>
         </DateFormat>
         <TimeFormat flags="143" charStyle="0" hourStyle="0" minsecStyle="1" separator="58" amString=" AM" pmString=" PM" ampmString=""/>
       </ExtendedAttributes>
       <Styles>
         <LocalCSS>
                ... CSS
         </LocalCSS>
       </Styles>
       <DDRInfo>
         <Field name="Purchased From" id="37" repetition="1" maxRepetition="1" table="Assets"/>
         <ValueList name="Purchased From" id="10"/>
       </DDRInfo>
     </FieldObj>
   </Object>
 </Layout>
</fmxmlsnippet>

Layout

<Layout enclosingRectTop="130.0000000" enclosingRectLeft="19.0000000" enclosingRectBottom="167.0000000"  enclosingRectRight="302.0000000">

Although the element is called "Layout", this element doesn't represent the layout but the outer bounds of all layout elements in this clip.

  • enclosingRectTop: Top position in Points
  • enclosingRectLeft: Left position in Points
  • enclosingRectBottom: Bottom position in Points
  • enclosingRectRight: Right position in Points

Object

<Object name="myName" type="Field" key="264" LabelKey="265" flags="1073741824" rotation="0">

  • name: Layout object name
  • type: Object type: Field, GroupButton, Line, Rect, RRect, Oval, Text, Portal, ExternalObject, TabControl
  • key: Unique key/ID of the layout object
  • LabelKey: Key/ID of the linked label (for fields). Value is 0 if no label is defined.
  • rotation: Degrees of rotation, only the values 0, 900, 1800 or 2700 are supported
    • 0 - Normal no rotation
    • 900 - 90 degrees
    • 1800 - 180 degrees
    • 2700 - 270 degrees
  • Flags: Bit flag value to indicate the following settings:
    • 0x00000001 - Object has conditional formatting
    • 0x00000002 - Locked on layout
    • 0x00000010 - Marked for sliding up
    • 0x00000020 - Marked for sliding left
    • 0x00000200 - Don't image when printing
    • 0x00004000 - Object has associated tooltip
    • 0x00010000 - Show "hand over button" cursor
    • 0x10000000 - Don't anchor left
    • 0x20000000 - Don't anchor top
    • 0x40000000 - Anchor right
    • 0x80000000 - Anchor bottom

Bounds

<Bounds top="130.0000000" left="19.0000000" bottom="167.0000000" right="302.0000000"/>

This element represents the bounds of the layout element.

  • Top: Top position in Points
  • Left: Left position in Points
  • Bottom: Bottom position in Points
  • 'Right: Right position in Points

Styles

This element represents local styles for the object in CSS format.

Note: Some styles are defined on a higher level(theme of the layout) and can cascade. So the same layout object can look a little bit different depending of the chosen layout theme.

Other elements and attributes

Every type of layout object has his own typical elements and attributes.

Detailled information about a particular layout object can be found in the white paper "FileMaker Pro 12 Advanced - Database Design Report XML Output Grammar". This document can be found on FileMakers website: http://www.filemaker.com/support/product/documentation.html

XML2.png
Layout Elements in FileMaker Pro 11 or below (XMLO)

When you select certain layout elements in layout mode an copy them into the clipboard, FileMaker Pro 11 or below will store them in the XMLO format.

Note: You can only copy layout elements in FileMaker Pro, never the whole layouts. So when you select all, you will only copy the elements on the layout, never the layout parts, layout script triggers or other layout properties.

XML

<?xml version="1.0" encoding="UTF-8"?>
<fmxmlsnippet type="LayoutObjectList">
 <Layout enclosingRectTop=" 99.000000" enclosingRectLeft=" 22.000000" enclosingRectBottom="137.000000" enclosingRectRight="263.000000">
   <ObjectStyle id="0" fontHeight="36" graphicFormat="5" fieldBorders="15">
     <CharacterStyle mask="32695">
       Helvetica
       36
       <Face>0</Face>
       <Color>#24303D</Color>
     </CharacterStyle>
     <ParagraphStyle mask="1983"/>
     <NumFormat flags="256" charStyle="0" negativeStyle="0" currencySymbol="€" thousandsSep="46" decimalPoint="44" negativeColor="#DD000000" decimalDigits="2" trueString="Yes" falseString="No"/>
     <DateFormat format="0" charStyle="0" monthStyle="1" dayStyle="0" separator="47">
       <DateElement>3</DateElement>
       <DateElement>1</DateElement>
       <DateElement>6</DateElement>
       <DateElement>8</DateElement>
       <DateElementSep index="0"/>
       <DateElementSep index="1"> </DateElementSep>
       <DateElementSep index="2"> </DateElementSep>
       <DateElementSep index="3"> </DateElementSep>
       <DateElementSep index="4"/>
     </DateFormat>
     <TimeFormat flags="159" charStyle="0" hourStyle="0" minsecStyle="1" separator="58" amString=" AM" pmString=" PM" ampmString=""/>
     <DrawStyle linePat="2" lineWidth="1" lineColor="#F314900" fillPat="1" fillEffect="0" fillColor="#FFFFFF00"/>
     <AltLineStyle linePat="7" lineWidth="1" lineColor="#0"/>
   </ObjectStyle>
   <Object type="Field" flags="1" portal="-1" rotation="0">
     <ConditionalFormatting>
       <Item id="0" flags="5">
         <Condition op="0">
           <Calculation>Get(WindowMode) = 0 and IsEmpty(Self)</Calculation>
           <RangeBegin/>
           <RangeEnd/>
         </Condition>
         <Format>
           <CharacterStyle mask="32695">
             Helvetica
             36
             <Face>0</Face>
             <Color>#24303D</Color>
           </CharacterStyle>
           <DrawStyle linePat="-46" lineWidth="-51" lineColor="#94000000" fillPat="0" fillEffect="120" fillColor="#FFFFCC00"/>
           <FieldBorders>172</FieldBorders>
         </Format>
       </Item>
     </ConditionalFormatting>
     <StyleId>0</StyleId>
     <Bounds top=" 99.000000" left=" 22.000000" bottom="137.000000" right="263.000000"/>
     <FieldObj numOfReps="1" flags="1056" inputMode="0" displayType="6" quickFind="1">
       <Name>MET_MEETING::meetingdatum</Name>
       <DDRInfo>
         <Field name="meetingdatum" id="17" repetition="1" maxRepetition="1" table="MET_MEETING"/>
       </DDRInfo>
     </FieldObj>
   </Object>
 </Layout>
</fmxmlsnippet>

Layout

<Layout enclosingRectTop="130.0000000" enclosingRectLeft="19.0000000" enclosingRectBottom="167.0000000"  enclosingRectRight="302.0000000">

Although the element is called "Layout", this element doesn't represent the layout but the outer bounds of all layout elements in this clip.

  • enclosingRectTop: Top position in Points
  • enclosingRectLeft: Left position in Points
  • enclosingRectBottom: Bottom position in Points
  • enclosingRectRight: Right position in Points

ObjectStyle

Describes the look of the object following this element.

Object

<Object type="Field" flags="1" portal="-1" rotation="0">

  • name: Layout object name
  • portal:Object is part of a portal with a certain portal id. Note: You cannot find the portal ID in the portal object section.
  • type: Object type: Field, GroupButton, Line, Rect, RRect, Oval, Text, Portal, ExternalObject, TabControl
  • rotation: Degrees of rotation, only the values 0, 900, 1800 or 2700 are supported
    • 0 - Normal no rotation
    • 900 - 90 degrees
    • 1800 - 180 degrees
    • 2700 - 270 degrees
  • Flags: Bit flag value to indicate the following settings:
    • 0x00000001 - Object has conditional formatting
    • 0x00000002 - Locked on layout
    • 0x00000010 - Marked for sliding up
    • 0x00000020 - Marked for sliding left
    • 0x00000200 - Don't image when printing
    • 0x00004000 - Object has associated tooltip
    • 0x00010000 - Show "hand over button" cursor
    • 0x10000000 - Don't anchor left
    • 0x20000000 - Don't anchor top
    • 0x40000000 - Anchor right
    • 0x80000000 - Anchor bottom

Bounds

<Bounds top="130.0000000" left="19.0000000" bottom="167.0000000" right="302.0000000"/>

This element represents the bounds of the layout element.

  • Top: Top position in Points
  • Left: Left position in Points
  • Bottom: Bottom position in Points
  • 'Right: Right position in Points

Other elements and attributes

Every type of layout object has his own typical elements and attributes.

Detailled information about a particular layout object can be found in the white paper "FileMaker Pro 11 Advanced - Database Design Report XML Output Grammar". This document can be found on FileMakers website: http://www.filemaker.com/support/product/docs/11/fmpa/fmpa11_ddr_xml_grammar.pdf

Personal tools