/// <summary> /// Print Schema Reference Guide v1.0 Appendix E.3.9 - Page Media Type /// </summary> public void WritePageMediaTypeFeature(IList <uint> mediaTypes, IList <string> mediaTypeDisplayNames) { if (mediaTypes.Count > 0 && mediaTypeDisplayNames.Count > 0) { WriteStartFeature( PrintSchemaNamespaces.StandardKeywordSet, "PageMediaType", PrintSchemaNamespaces.StandardKeywordSet, "PickOne", COMPSTUISR.IDS_CPSUI_MEDIA); { for (int i = 0; i < mediaTypes.Count; i++) { string optionLocalName; uint optionDisplayNameId; string pskFrontCoating; string pskBackCoating; string pskMaterial; bool found = PrintSchemaShim.TryGetMediaTypeOption( mediaTypes[i], out optionLocalName, out optionDisplayNameId, out pskFrontCoating, out pskBackCoating, out pskMaterial ); string optionDisplayName; if (found) { optionDisplayName = GetDisplayString(optionDisplayNameId); } else { optionLocalName = string.Format(CultureInfo.InvariantCulture, "User{0:0000000000}", mediaTypes[i]); optionDisplayName = (i < mediaTypeDisplayNames.Count) ? mediaTypeDisplayNames[i] : null; pskFrontCoating = null; pskBackCoating = null; pskMaterial = null; } WriteStartOption(PrintSchemaNamespaces.StandardKeywordSet, optionLocalName, optionDisplayName, "None"); { if (pskFrontCoating != null) { WriteStartScoredProperty(PrintSchemaNamespaces.StandardKeywordSet, "FrontCoating"); { WriteQNameValue(PrintSchemaNamespaces.StandardKeywordSet, pskFrontCoating); } WriteEndScoredProperty(); } if (pskBackCoating != null) { WriteStartScoredProperty(PrintSchemaNamespaces.StandardKeywordSet, "BackCoating"); { WriteQNameValue(PrintSchemaNamespaces.StandardKeywordSet, pskBackCoating); } WriteEndScoredProperty(); } if (pskMaterial != null) { WriteStartScoredProperty(PrintSchemaNamespaces.StandardKeywordSet, "Material"); { WriteQNameValue(PrintSchemaNamespaces.StandardKeywordSet, pskMaterial); } WriteEndScoredProperty(); } } WriteEndOption(); } } WriteEndFeature(); } }